Variable modulation scheme for memory device access or operation

ABSTRACT

Methods, systems, and devices that support variable modulation schemes for memory are described. A device may switch between different modulation schemes for communication based on one or more operating parameters associated with the device or a component of the device. The modulation schemes may involve amplitude modulation in which different levels of a signal represent different data values. For instance, the device may use a first modulation scheme that represents data using two levels and a second modulation scheme that represents data using four levels. In one example, the device may switch from the first modulation scheme to the second modulation scheme when bandwidth demand is high, and the device may switch from the second modulation scheme to the first modulation scheme when power conservation is in demand. The device may also, based on the operating parameter, change the frequency of the signal pulses communicated using the modulation schemes.

CROSS REFERENCE

The present application for patent claims the benefit of and claimspriority to U.S. Provisional Patent Application No. 62/567,011 by Hasbunet al., entitled “Variable Modulation Scheme,” filed Oct. 2, 2017,assigned to the assignee hereof, and is expressly incorporated byreference in its entirety herein.

BACKGROUND

The following relates generally to using signaling in a memory device.Memory devices are widely used to store information related to variouselectronic devices such as computers, wireless communication devices,cameras, digital displays, and the like. Information is stored byprograming different states of a memory cell.

Various types of memory devices exist, including magnetic hard disks,random access memory (RAM), read only memory (ROM), dynamic RAM (DRAM),synchronous dynamic RAM (SDRAM), ferroelectric RAM (FeRAM), magnetic RAM(MRAM), resistive RAM (RRAM), flash memory, phase change memory (PCM),and others. Memory devices may be volatile or non-volatile. Non-volatilememory, e.g., FeRAM, may maintain their stored logic state for extendedperiods of time even in the absence of an external power source.Volatile memory devices, e.g., DRAM, may lose their stored state overtime unless they are periodically refreshed by an external power source.FeRAM may use similar device architectures as volatile memory but mayhave non-volatile properties due to the use of a ferroelectric capacitoras a storage device.

Improving memory devices, generally, may include increasing memory celldensity, increasing read/write speeds, increasing reliability,increasing data retention, reducing power consumption, or reducingmanufacturing costs, among other metrics.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a memory device that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 2 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 3 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 4 illustrates an example of a diagram that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 5 illustrates an example of a diagram that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 6 illustrates an example of a memory device that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 7 illustrates an example of a memory device that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 8 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 9 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 10 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 11 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 12 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 13 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 14 illustrates an example of a circuit that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 15 illustrates an example of a diagram of a waveform that supportsa variable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 16 illustrates an example of a diagram of a waveform that supportsa variable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 17 illustrates an example of a diagram of a waveform that supportsa variable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 18 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 19 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 20 illustrates an example of a memory device that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 21 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 22 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 23 illustrates an example of a block diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 24 illustrates an example of a system that supports a variablemodulation scheme in accordance with examples of the present disclosure.

FIG. 25 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 26 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 27 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

FIG. 28 illustrates an example of a process flow diagram that supports avariable modulation scheme in accordance with examples of the presentdisclosure.

DETAILED DESCRIPTION

A device may dynamically switch between two or more modulation schemesfor accessing or operation of memory based on one or more operatingparameters determined by the device. The device may also optionallyswitch from using one frequency (e.g., pulse rate) to using a differentfrequency based on the parameter(s). The combination of modulationscheme and frequency may be selected so that the operating parameter isaccommodated, accounted for, or otherwise satisfied.

In some systems, a device may use a single modulation scheme tocommunicate with a memory die, but may switch between a discrete numberof frequencies to satisfy bandwidth requirements or comply with power orother constraints. Because higher frequencies may provide greaterbandwidth, the device may increase frequency when bandwidth requirementsare high, and decrease frequency when bandwidth requirements are low.And because lower frequencies may consume less power, a device mayincrease frequency when the device's available power supply is high, anddecrease frequency when the device's available power supply is low.Thus, a device may select a frequency that provides sufficient bandwidthat the sufficient power consumption level.

But in some cases, the frequencies at which at device is designed tocommunicate may not provide the target (e.g., required, sufficient)bandwidth and/or power consumption (or power conservation). For example,the device may be designed to communicate at different frequencies(e.g., multiple frequencies, N frequencies), but the lowest twofrequencies may not provide enough bandwidth to satisfy the targetbandwidth, while the third frequency may consume too much power tosatisfy the power constraints. Thus, the device may have to choosebetween performing at an inadequate bandwidth or expending excess power,either of which may impair communications or operation.

According to the techniques described herein, a device may switchbetween frequencies as well as modulation schemes in access or operatingmemory. Because different modulation schemes provide differentbandwidths, and may consume different amounts of power, selectingbetween modulation schemes may allow a device to more closely matchtarget metrics, demands, or requests. For example, a device may select acombination of modulation scheme and frequency so that the providedbandwidth and consumed power (among other possible or additionalfactors) are tailored to the operating parameters (e.g., bandwidth,power) of the device. The operating parameters may include other aspectsassociated with the operation of the device, such as the launch of highdata rate applications and the temperature of one or more components ofthe device, among others.

Features of the disclosure introduced above are further described belowin the context of an exemplary memory device and other variouscomponents. Specific examples are described for memory devices thatsupport multi-symbol signaling. These and other features of thedisclosure are further illustrated by and described with reference toapparatus diagrams, system diagrams, and flowcharts that relate tomulti-symbol signaling.

FIG. 1 illustrates an example system 100 that includes a memory devicein accordance with various examples of the present disclosure. Thesystem 100 may also be referred to as an electronic memory apparatus.The system 100 may be configured to dynamically switch betweenmodulation schemes and frequencies. The system 100 may include aplurality of memory dies 105 and a memory controller 110. The memorydies 105 may be coupled with the memory controller 110 using one or moreinternal signal paths 115. Each internal signal path 115 may beconfigured to communicate internal signals (e.g., binary-symbol signals,multi-symbol signals) that represent data between the memory controller110 and one or more of the memory dies 105. In some examples, theinternal signal paths 115 may be used to send and receive the internalsignals inside of a semiconductor package among various componentstherein.

In some cases, the system 100 includes a computing device 120 such as aprocessor (e.g., a central processing unit (CPU), a graphics processingunit (GPU)) or a system on a chip (SoC). The system 100, including thecomputing device 120, may be a subsystem of a larger system (e.g., alaptop, server, personal computing device, smartphone, personalcomputer). In either case, the computing device 120 may exchangeinformation with the memory controller 110 using a signal communicatedover a first signal path 125.

The memory dies 105 may include a plurality of memory cells (as shown inand described with reference to FIG. 2) that may be programmable tostore different logic states. For example, each memory cell may beprogrammed to store one or more logic states (e.g., a logic ‘0’, a logic‘1’, a logic ‘00’, a logic ‘01’, a logic ‘10’, a logic ‘11’). The memorycells of the memory dies 105 may use any number of storage technologiesto store data including DRAM, FeRAM, PCM, 3DXP memory, NAND memory, NORmemory, or a combination thereof. In some cases, a first memory die 105of the system 100 may use a first memory technology (e.g., NAND flashmemory) and a second memory die 105 of the system 100 may use secondmemory technology (e.g., FeRAM) different from the first memorytechnology.

In some cases, the memory dies 105 may be an example of two-dimensional(2D) array of memory cells. Or, a memory die 105 may be an example of athree-dimensional (3D) array, where multiple 2D arrays of multiplememory cells are formed on top of one another. Such a configuration mayincrease the number of memory cells that may be formed on a single dieor substrate as compared with 2D arrays. In turn, this may reduceproduction costs, or increase the performance of the memory array, orboth. Each level of the array may be positioned so that memory cellsacross each level may be approximately aligned with one another, forminga memory cell stack. In some cases, the memory dies 105 may be stackeddirectly on one another. In other cases, one or more of the memory dies105 may be positioned away from a stack of memory dies (e.g., indifferent memory stacks).

The memory dies 105 may include one or more vias 130 (e.g.,through-silicon vias (TSVs)). In some cases, the one or more vias 130may be part of the internal signal paths 115 and perform similarfunctions. The vias 130 may be used to communicate between memory dies105, for example, when the memory dies 105 are stacked on one another.Some vias 130 may be used to facilitate communication between the memorycontroller 110 and at least some of the memory dies 105. In some cases,a single via 130 may be coupled with multiple memory dies 105. In somecases, each memory die 105 may include a via 130.

The memory controller 110 may control the operation (e.g., read, write,re-write, refresh, discharge) of memory cells in the memory dies 105through one or more various components (e.g., row decoders, columndecoders, sense components). In some cases, the row decoder, the columndecoder, or the sense component, or some combination may be co-locatedwith the memory controller 110. Memory controller 110 may generate rowand column address signals to activate the desired word line and digitline. In other examples, the memory controller 110 may control variousvoltages, or currents, or both used during the operation of system 100.For example, the memory controller 110 may apply discharge voltages to aword line or a digit line after accessing one or more memory cells. Ingeneral, the amplitude, shape, or duration of an applied voltage orcurrent discussed herein may be adjusted or varied and may be differentfor the various operations discussed in relation to operating the system100. Furthermore, one, multiple, or all memory cells within a memory die105 may be accessed concurrently. For example, multiple memory cells orall memory cells of the memory die 105 may be accessed simultaneouslyduring a reset operation in which multiple memory cells or all memorycells may be set to a single logic state (e.g., logic ‘0’).

In some cases, the memory controller 110 may be integrated as part ofthe computing device 120. For example, a processor of the computingdevice 120 may execute one or more processes, operations, or proceduresconfigured to control various aspects of the system 100 or initiatevarious operations or actions. In some cases, the memory controller 110may be integrated as part of a buffer in a stack of memory dies 105. Forexample, the memory controller 110 may be an example of a semiconductordie that may execute one or more processes, operations, or proceduresconfigured to control various aspects of the system 100 or initiatevarious operation or actions.

The memory controller 110 may include a multi-symbol signal component135 configured to communicate multi-symbol signals (i.e., signalsmodulated using a M-ary modulation scheme where M is greater than orequal to 3) within the system 100 (e.g., internal signals communicatedacross the internal signal paths 115) and/or multi-symbol signals withother components (e.g., external signals communicated across the firstsignal path 125). The memory controller 110 may control the multi-symbolsignal component 135 so that different signals are modulated usingdifferent combinations of modulation schemes, frequencies, or both. Forexample, the memory controller 110 may control the multi-symbol signalcomponent 135 so that a first signal sent to memory die(s) 105 ismodulated using a first modulation scheme (e.g., a modulation schemewith first number of levels) and a second signal sent to memory die(s)105 is modulated using a second modulation scheme (e.g., a modulationscheme with a number of levels different than that of the firstmodulation scheme). The memory controller 110 may also communicate withthe multi-symbol signal component 135 such that the signals are sent atthe same or different frequencies. The modulation schemes andfrequencies at which the signals are sent may be based on one or moreoperating parameters associated with the system 100.

In some cases, the memory controller 110 may be configured tocommunicate binary-symbol signals concurrently with multi-symbolsignals. The features and functions related to communicatingmulti-symbol signals and binary-symbol signals may be implemented indevices and contexts other than memory storage. For example, thefeatures of functions described herein may be implemented in personalcomputing devices, laptops, servers, portable communication devices, ora combination thereof.

FIG. 2 illustrates an example of a circuit 200 in accordance withvarious examples of the present disclosure. The circuit 200 mayillustrate an example of a memory cell 205 that may be part of one ormore memory dies 105. The circuit 200 may include a memory cell 205coupled with a digit line 210 and a voltage source 215.

The memory cell 205 may implement any type of memory technology (e.g.,DRAM, FeRAM, PCM, NAND, NOR). As such, some aspects of the circuit 200may be based on the memory technology being implemented by the memorycell 205. For example, if the memory cell 205 is a FeRAM memory cell,the voltage source 215 may be an example of a plate or a plate linecoupled with a plate driver. If the memory cell 205 is a DRAM memorycell, the voltage source 215 may be an example of a ground or a virtualground. A person of ordinary skill would understand and appreciate thedifferences in memory cells 205 between the different memorytechnologies.

The memory cell 205 may include a capacitor 220 and a selectioncomponent 225. In some cases, the capacitor 220 may be or include aresistor type device, as in the case of a PCM memory cell. A memory cell205 may store a charge representative of the programmable states in thecapacitor 220; for example, a charged and uncharged capacitor mayrepresent two logic states, respectively. A DRAM memory cell may includea capacitor with a dielectric material as the insulating material. Forexample, the dielectric material may have linear or para-electricpolarization properties and a ferroelectric memory cell may include acapacitor with a ferroelectric material as the insulating material. Ininstances where the storage medium includes FeRAM, different levels ofcharge of a ferroelectric capacitor may represent different logicstates.

The memory cell 205 of the memory die 105 may be accessed (e.g., duringa read operation, write operation, or other operation) using variouscombinations of word lines 230, digit lines 210, in some types of memorytechnologies, plate lines, or a combination thereof. In some cases, somememory cells 205 may share access lines (e.g., digit lines, word lines,plate lines) with other memory cells. For example, a digit line 210 maybe shared with memory cells 205 in a same column and a word line 230 maybe shared with memory cells in a same row. In some cases, a plate linemay be shared with memory cells in a same section, tile, deck, ormultiple decks. As described above, various states may be stored bycharging or discharging the capacitor 220 of the memory cell 205.

The stored state of the capacitor 220 of the memory cell 205 may be reador sensed by operating various components. The capacitor 220 may be inelectronic communication with a digit line 210. The capacitor 220 may beisolated from digit line 210 when selection component 225 isdeactivated, and the capacitor 220 can be coupled with the digit line210 when selection component 225 is activated (e.g., by the word line230).

Activating selection component 225 may, in some examples, be referred toas selecting a memory cell 205. In some cases, the selection component225 may be a transistor and its operation may be controlled by applyinga voltage to the transistor gate, where the voltage magnitude is greaterthan the threshold magnitude of the transistor. The word line 230 mayactivate the selection component 225 based on instructions received fromthe memory controller 110. For example, a memory controller 110 maycontrol the biasing of the word line 230 to selectivelyactivate/deactivate the selection component 225, and thereby connect acapacitor 220 of a memory cell 205 with a digit line 210.

The change in voltage of a digit line 210 may, in some examples, dependon the digit line's intrinsic capacitance. That is, as charge flowsthrough the digit line 210, some finite amount of charge may be storedin the digit line 210 and the resulting voltage depends on the intrinsiccapacitance. The intrinsic capacitance may depend on physicalcharacteristics, including the dimensions, of the digit line. The digitline 210 may connect many memory cells of the memory die 105 so thedigit line 210 may have a length that results in a non-negligiblecapacitance (e.g., on the order of picofarads (pF)). The resultingvoltage of the digit line 210 may then be compared to a referencevoltage by a sense component 240 in order to determine the stored logicstate in the memory cell. Other sensing processes may be used. The sensecomponent 240 may be coupled with the digit line 210.

The sense component 240 may include various transistors or amplifiers todetect and amplify a difference in signals, which may be referred to aslatching. The sense component 240 may include a sense amplifier thatreceives and compares the voltage of the digit line 210 and a referenceline 245, which may be a reference voltage. The sense amplifier outputmay be driven to the higher (e.g., a positive) or lower (e.g., negativeor ground) supply voltage based on the comparison. For instance, if thedigit line has a higher voltage than reference line, then the senseamplifier output may be driven to a positive supply voltage.

In some cases, the sense amplifier may drive the digit line to thesupply voltage. The sense component 240 may then latch the output of thesense amplifier and/or the voltage of the digit line 210, which may beused to determine the stored state in the memory cell (e.g., logic ‘1’).Alternatively, for example, if the digit line 210 has a lower voltagethan reference line 245, the sense amplifier output may be driven to anegative or ground voltage. The sense component 240 may similarly latchthe sense amplifier output to determine the stored state in the memorycell 205 (e.g., logic ‘0’). The latched logic state of the memory cell205 may then be output to the memory controller 110, for example, usingone or more internal signal paths 115 or vias 130.

To write a memory cell, a voltage may be applied across the capacitor220 of the memory cell 205. Various methods may be used to write amemory cell 205. In one example, the selection component 225 may beactivated through a word line 230 in order to electrically connect thecapacitor 220 to the digit line 210. A voltage may be applied across thecapacitor 220 by controlling the voltage of a first cell plate (e.g.,through voltage source 215) and a second cell plate (e.g., through adigit line 210). To write a logic ‘0’, the cell plate may be taken high(e.g., a voltage level may be increased above a predetermined voltagethat is a “high” voltage). That is, a positive voltage may be applied toplate line, and the cell bottom may be taken low (e.g., virtuallygrounding or applying a negative voltage to the digit line). Theopposite process may be performed to write a logic ‘1’, where the cellplate is taken low and the cell bottom is taken high.

According to the techniques described herein, different signals may besent using different combinations of modulation schemes and frequencies.The modulation scheme used to modulated a signal may affect the numberof memory cells 205 that are selected to receive the signal. Forexample, compared to signals modulated using modulation schemes with lownumbers of levels, more memory cells 205 may be selected to receive asignals that are modulated using modulation schemes with higher numbersof levels. This is because modulation schemes with higher numbers oflevels may communicate larger amounts of data than modulation schemeswith lower number of levels. In some cases, more memory cells 205 may beselected to receive a signal by increasing the page size of a memorydie.

Conversely, fewer memory cells 205 may be selected to receive a signal(e.g., a signal modulated using a modulation scheme having a low numberof levels) by decreasing the page size of a memory die.

FIG. 3 illustrates an example of a circuit 300 in accordance withvarious examples of the present disclosure. The circuit 300 may includeone or more internal signal paths 315-a through 315-N that couple atleast one memory die 305 with a memory controller 310. The internalsignal paths 315 may be configured to communicate multi-symbol signals320, or binary-symbol signals 325, or both. In some cases, a firstinternal signal path 315-a may be dedicated to communicating a firstsignal type (e.g., a multi-symbol signal 320). In some cases, a secondinternal signal path 315-b may be dedicated to communicating a second,different signal type (e.g., a binary-symbol signal 325). In some cases,the internal signal paths 315 may include or be routed through one ormore vias, or TSVs. The memory die 305 may be an example of the memorydies 105 described with reference to FIG. 1. The memory controller 310may be an example of the memory controller 110 described with referenceto FIG. 1. The signal paths 315 may be examples of the signals paths 115described with reference to FIG. 1.

A memory device may use multi-symbol signaling to increase an amount ofinformation transmitted using a given bandwidth of frequency resources(e.g., the internal signal may be an example of a multi-symbol signal).In some cases, the memory controller 310 may be configured to select atype of a modulation scheme (e.g., binary-symbol or multi-symbol)applied to a signal based on one or more parameters. Such parameters mayinclude power consumption parameter of the memory device, performancerequirements of an application being implemented using the memorydevice, other parameters, or a combination thereof.

In a binary-symbol signal 325, the modulation scheme includes twosymbols (e.g., two voltages levels) are used to represent up to twologic states (e.g., logic state ‘0’ or logic state ‘1’). In amulti-symbol signal 320, the modulation scheme may include a largerlibrary of symbols may be used to represent three or more logic states.For example, if the multi-symbol signal 320 is modulated with amodulation scheme that includes four unique symbols, the multi-symbolsignal 320 may be used to represent up to four logic states, ‘00’, ‘01’,‘10’, and ‘11’. As a result, multiple bits of data may be includedwithin a single symbol, thereby increasing the amount of datacommunicated using a given bandwidth.

A multi-symbol signal 320 may be any signal that is modulated using amodulation scheme that includes three or more unique symbols torepresent data (e.g., two or more bits of data). A M-ary signal ismodulated using a modulation scheme where M represents the number ofunique symbols (e.g., levels, or other conditions or combinations ofconditions possible in the modulation scheme. The multi-symbol signal320 may be an example of any M-ary modulation scheme where M is greaterthan or equal to 3. A multi-symbol signal 320 or a multi-symbolmodulation scheme may be referred to as a non-binary signal ornon-binary modulation scheme in some instances. Examples of multi-symbol(or M-ary) modulation schemes related to a multi-symbol signal mayinclude, but are not limited to, pulse amplitude modulation (PAM)schemes, quadrature amplitude modulation (QAM) schemes, quadrature phaseshift keying (QPSK) schemes, and/or others.

A binary-symbol signal 325 may be any signal that is modulated using amodulation scheme that includes two unique symbols to represent one bitof data. The binary-symbol signal 325 may be an example of a M-arymodulation scheme where M equal to 2. Examples of binary-symbolmodulation schemes related to a binary-symbol signal include, but arenot limited to, non-return-to-zero (NRZ), unipolar encoding, bipolarencoding, Manchester encoding, PAM2, and/or others.

In some cases, the modulation schemes of the various signals may beamplitude modulation schemes such as PAM4 and/or NRZ that encodeinformation in the amplitude (or level) of a signal (e.g., a voltageamplitude or a current amplitude). The symbols of the modulation schemesmay be referred to as levels, amplitudes, or signal strengths. Forexample, a first level of a signal may represent ‘00’, a second levelmay represent ‘01’, a third level may represent ‘10’, and a fourth levelmay represent ‘11’. In some cases, a single symbol of the amplitudemodulation scheme may be a constant level applied during a single symbolduration or two or more levels applied during a single symbol duration.The functions of features described herein may apply with other types ofmodulation schemes such as phase modulation schemes, phase-shift keyingmodulation schemes, frequency shift keying modulation schemes,amplitude-shift keying modulation schemes, on-off keying (OOK)modulation schemes, orthogonal frequency-division multiplexing (OFDM)modulation schemes, spread-spectrum modulation schemes, time-basedmodulation schemes, or a combination thereof. As such, the symbols orlevels of the modulation schemes may be related to signal parametersother than amplitude (e.g., phase, time, frequency).

In some examples, some multi-symbol signaling schemes include symbolsthat are separated by a smaller difference in voltage (or other variablesignal parameter measurement) than symbols in binary-symbol signalingschemes. The smaller voltage separation may, in some examples, make themulti-symbol signal 320 more susceptible to error caused by noise andother factors. The voltage separation of symbols in the multi-symbolsignal 320, however, may be expanded by increasing a peak-to-peaktransmitted power of a transmitted signal. But in some situations, suchan increase to peak-to-peak transmitted power may not be possible or maybe difficult due to fixed power supply voltages, fixed signal powerrequirements, or other factors. Consequently, to implement multi-levelsignaling, a transmitter may utilize more power and/or a receiver may besusceptible to an increased error rate, when compared to a binary-symbolsignal 325. Despite this smaller voltage difference and related aspects,multi-level signaling facilitates distinct and advantageousimplementations. For example, multi-level signaling communicates moreinformation given a finite amount of communication resources thanbinary-level signals.

Additionally, use of different multi-level signaling schemes may allow adevice to achieve target communication or operation metrics. Amulti-level signal with a larger number of levels may provide morebandwidth than a multi-level signal with a smaller number of levels. Butcommunicating a multi-level signal that has a larger number of levelsmay also consume more power than communication a multi-level signal thathas a smaller number of levels. Accordingly, a device may select thenumber of levels in a multi-level signal to provide a target bandwidthor stay within a target power consummation level.

In some cases, the features and functions related to communicatingmulti-symbol signals 320 and binary-symbol signals 325 may beimplemented in devices and contexts other than memory storage. Forexample, the features of functions described herein may be implementedin personal computing devices, laptops, servers, portable communicationdevices, or a combination thereof.

FIGS. 4-6 illustrate a memory device configured to communicate datausing a binary-symbol signal, a multi-symbol signal, or a combinationthereof. The memory device may include a computing device electricallycoupled with a semiconductor package that includes several semiconductordies stacked on one another. The computing device may exchangeinformation with a host over a first signal path using a binary-symbolsignal that is encoded with a modulation scheme that includes twosymbols (e.g., two voltage levels) to represent one bit of data. Thecomputing device may generate a multi-symbol signal that is encoded witha modulation scheme including three or more symbols to represent morethan one bit of data based on receiving the binary-symbol signal. Thecomputing device may transmit the multi-symbol signal to othersemiconductor dies inside of the semiconductor package through a set ofinternal signal paths (e.g., TSVs). The features and/or functionsdescribed with reference to FIGS. 4-6 may be combined with the featuresand/or functions of other aspects of a memory device as described withreference to FIGS. 1-3 and FIGS. 7-22.

FIG. 4 illustrates an exemplary diagram 401 of a memory system interfaceand associated exemplary circuits, a voltage driver 402 and a currentdriver 403, in accordance with various examples of the presentdisclosure. A memory controller 405 may receive a first signal 410 froma computing device 120-a and process information contained in the firstsignal 410 to generate a second signal 415. The memory controller 405may be an example of the memory controller 110 described with referenceto FIG. 1. In some examples, the first signal 410 may be a binary-symbolsignal configured with two levels. In some examples, the first signal410 may be encoded using a modulation scheme that includes two uniquesymbols to represent one bit of data.

In some examples, the second signal 415 may be a multi-symbol signalusing a modulation scheme that includes three or more unique symbols torepresent more than one bit of data. In some examples, the first signal410 may be encoded using a NRZ modulation scheme and the second signal415 may be encoded with a PAM scheme. An example of the second signal415 encoded with a PAM scheme may be a PAM4 signal configured with foursignal levels described with reference to FIG. 3.

In some examples, the memory controller 405 may be located within asemiconductor package 480 that may be electrically coupled with thecomputing device 120-a that is located external to the semiconductorpackage 480. The computing device 120-a may be a system on a chip (SoC)or a processor (e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU)). The semiconductor package 480 may include othersemiconductor dies (which may also be referred to as semiconductorchips, not shown) electrically coupled with the memory controller 405,such as memory chips employing DRAM, NAND, FeRAM, or 3DXP technologies.In some examples, the second signal 415 may be used to send and receivethe encoded information inside the semiconductor package 480 among thevarious components therein.

The memory controller 405 may include the voltage driver 402 configuredto generate the second signal 415 based on receiving the first signal410. The voltage driver 402 may be a part of the multi-symbol signalcomponent 135 described with reference to FIG. 1. The first signal 410may include a first signal 410-a corresponding to a first bit (e.g., aleast significant bit (LSB)) of the signal 410. In some examples, thefirst signal 410-a may be connected to an input of a 1× complementarymetal oxide semiconductor (CMOS) branch 420. In addition, the firstsignal 410 may include a first signal 410-b corresponding to a secondbit (e.g., a most significant bit (MSB)) of the first signal 410.

In some examples, the first signal 410-b may be connected to an input ofa 2×CMOS branch 430. The 1×CMOS branch 420 may be connected to a 1×voltage node 421 while the 2×CMOS branch 430 may be connected to a 2×voltage node 431. The description 1× or 2× in the voltage driver 402 mayindicate a voltage value supplying an operating voltage to a CMOSbranch. For example, the 2×CMOS branch 430 may be connected to the 2×voltage node 431 having a voltage (e.g., 1.6 V) that is approximatelytwo times of a voltage (e.g., 0.8 V) of the 1× voltage node 421. Outputnodes of the 1×CMOS branch 420 and the 2×CMOS branch 430 may beconnected to generate a second signal 415-a. The voltage driver 402 maygenerate the second signal 415-a associated with four voltage levelsthat may be determined by four different combinations of the firstsignal 410-a and the first signal 410-b, e.g., 00, 01, 10, or 11.

The memory controller 405 may include the current driver 403 configuredto generate the second signal 415 based on receiving the first signal410. The current driver 403 may be a part of the multi-symbol signalcomponent 135 described with reference to FIG. 1. The first signal 410may include a first signal 410-c corresponding to a first bit (e.g., aleast significant bit (LSB)) of the signal 410. In some examples, thefirst signal 410-c may be connected to a gate of a 1× n-type MOS (NMOS)device 440. In addition, the first signal 410 may include a first signal410-d corresponding to a second bit (e.g., a most significant bit (MSB))of the first signal 410. In some examples, the first signal 410-d may beconnected to a gate of a 2×NMOS device 450.

The description 1× or 2× in the current driver 403 may indicate acurrent value for an NMOS device may conduct. For example, the 2×NMOSdevice 450 may conduct a current (e.g., 500 micro-amps, μA) that isapproximately twice of a current (e.g., 250 μA) that the 1×NMOS device440 may conduct. Drain nodes of the 1×NMOS device 440 and the 2×NMOSdevice 450 are connected to generate a second signal 415-b in a form ofelectrical current flowing through a resistive load 460. The resistiveload 460 may be a representation of an equivalent resistance of acircuitry connected to the drain nodes of the 1×NMOS device 440 and the2×NMOS device 450. The current driver 403 may generate the second signal415-b associated with four current levels that may be determined by fourdifferent combinations of the first signal 410-c and the first signal410-d, e.g., 00, 01, 10, or 11.

The particular configurations depicted in the voltage driver 402 and thecurrent driver 403, e.g., the LSB signal 410-a connected to the 1×CMOSbranch 420 and the MSB signal 410-b connected to the 2×CMOS branch 430in the voltage driver 402, or the LSB signal 410-c connected to the1×NMOS device 440 and the MSB signal 410-b connected to the 2×NMOSdevice 450 in the current driver 403, may represent possible examples toillustrate a function of the memory controller 405 that may beconfigured to generate the second signal 415 that includes four signallevels (e.g., a voltage amplitude or a current amplitude).

Other configurations of circuits are possible to generate a secondsignal 415 that includes four signal levels based on receiving a firstsignal 410 that includes two signal levels. For example, the NMOStransistors 440 or 450 may be replaced with p-type MOS (PMOS)transistors in some examples. In addition, a different circuit orcircuits may be used to generate a second signal 415 that includes atleast three or more different signal levels such that the second signal415 encodes more than one bit of data. Furthermore, the voltage driver402 and the current driver 403 may include other circuit components(e.g., each CMOS branch 420 or 430 may include a resistive network orother circuit elements (not shown)) to generate a robust second signal415 to mitigate various issues (e.g., jitter, distortion, degradation ofwidth and opening of the second signal 415).

The second signal 415 may be modulated using a modulation scheme thatincludes at least three levels to encode more than one bit ofinformation. The second signal 415 may be used to send and receive theencoded information among various parts within the semiconductor package480, which may include semiconductor dies or chips (e.g., memory chipsusing DRAM, NAND, FeRAM, or 3DXP memory technologies, or a combinationof such memory chips). As a result of the second signal 415 representingmore than one bit of information, a number of interconnects (e.g.,through-silicon vias (TSVs)) between two semiconductor dies within thesemiconductor package 480 may be reduced.

In some examples, the second signal 415 may be modulated such that asingle level of the second signal 415 represents two bits of information(e.g., 00, 01, 10 or 11) and the number of TSVs carrying the secondsignal 415 may be reduced to one-half when compared to a number of TSVscarrying a second signal representing one bit of information (e.g., 0 or1). By reducing a number of TSVs, a die areas occupied by the TSVs mayalso be reduced. In addition, various circuitries (e.g., receivers,drivers) associated with the TSVs may be removed.

For example, a semiconductor package including a number of memory chipsconnected through internal interconnects (e.g., TSVs) may be configuredto have one external pin connected to a first number of interconnects(e.g., eleven TSVs). Metal routings between the external pin and thefirst number of interconnects may become a significant source ofparasitic components (e.g., resistances and capacitances). A secondsignal 415 representing two bits of information may reduce the number ofinterconnects (e.g., from eleven TSVs to six TSVs) and accompanyingreduction in the parasitic components may improve performance of amemory system including the semiconductor package.

FIG. 5 illustrates an exemplary diagram 501 of a memory system interfaceand an associated exemplary circuit, a deserializer 502, in accordancewith various examples of the present disclosure. A memory controller 505may be an example of the memory controller 405 described with referenceto FIG. 4. A first signal 510 and a second signal 515 may be examples ofthe first signal 410 and the second signal 415 described with referenceto FIG. 4. A serializer/deserializer 520 may receive the first signal510 from a computing device 120-b and generate a deserialized signal525. The serializer/deserializer 520 may be referred to as a SerDesfunctional block in some cases. The memory controller 505 may receivethe deserialized signal 525 to generate the second signal 515. In someexamples, the memory controller 505 may include theserializer/deserializer 520.

The serializer/deserializer 520 may include the deserializer 502 togenerate the deserialized signal 525 based on receiving the first signal510. The deserializer 502 may include comparators 530-a and 530-b and amultiplexer 540. The deserializer 502 may operate with a two-phase clocksystem in which a first clock signal 545-a may be associated with afirst comparator 530-a and a second clock signal 545-b may be associatedwith a second comparator 530-b. In some examples, each comparator 530-aand 530-b may be supplied with a first signal 510-a and a Vref signal550. The Vref signal 550 may provide a reference voltage for thecomparators 530-a and 530-b to generate an output by comparing the Vrefsignal 550 and the first signal 510-a.

In some examples, the comparator 530-a may be configured to captureinformation contained in even bits of the first signal 510-a on risingedges of the first clock signal 545-a. In addition, the comparator 530-bmay be configured to capture information contained in odd bits of thefirst signal 510-a on rising edges of the second clock signal 545-b.Subsequently, the multiplexer 540 may align output signals of thecomparators 530-a and 530-b to generate the deserialized signal 525-a.

The particular configuration depicted in the deserializer 502, e.g.,deserializing odd bits and even bits using a two-phase clock system, mayrepresent an example to illustrate a function of theserializer/deserializer 520. Other configurations of circuits may bepossible to generate a deserialized signal 525 having a 2:1deserialization factor. For example, a single-phase clock system may beused to capture odd bits at rising edges of a single clock signal whileeven bits may be captured at falling edges of the single clock signal.In addition, different circuits may be employed to generate adeserialized signal 525 having a serialization factor other than 2:1(e.g., 4:1 or 8:1).

FIG. 6 illustrates exemplary diagram 601 of a memory system inaccordance with various examples of the present disclosure. The diagram601 illustrates a memory controller 605 located within a semiconductorpackage 680. The memory controller 605 may be an example of the memorycontroller 405 or 505 described with reference to FIGS. 4 and 5. Thesemiconductor package 680 may be an example of the semiconductor package480 or 580 described with reference to FIGS. 4 and 5. In some cases, thememory controller 605 may also include the serializer/deserializer 520described with reference to FIG. 5. The memory controller 605 mayreceive a first signal 610 from a computing device 120-c.

In some cases, the computing device 120 may be referred to as a hostdevice. The first signal 610 may be an example of the first signal 410or 510 described with reference to FIGS. 4 and 5. In some cases, thefirst signal 610 may be a binary signal including two signal levels. Insome cases, the first signal 610 may be encoded using a modulationscheme that includes two unique symbols to represent one bit of data.The memory controller 605 may generate a second signal 620 based oninformation from the first signal 610 from the computing device 120-c.The second signal 620 may be an example of the second signal 415 or 515described with reference to FIGS. 4 and 5. In some cases, the secondsignal 620 may be encoded with PAM scheme. In some cases, the secondsignal 620 may be a PAM4 signal configured with four signal levels.

The semiconductor package 680, in some cases, may include one or morememory dies 625 (which may also be referred to as chips, semiconductorchips, and/or semiconductor dies) positioned above the memory controller605. The memory dies 625 may be examples of the memory dies 105described with reference to FIG. 1. The individual dies of the memorydies 625, 626 may employ different memory technologies, e.g., DRAM,NAND, FeRAM, 3DXP, or a combination thereof. In some cases, differentdies may employ different memory technologies than other dies in thememory stack. In some examples, the semiconductor package 680 mayinclude a first number (e.g., eight memory dies) of memory dies 625.

The memory dies 625 may be electrically coupled with the memorycontroller 605 and stacked directly on one another. In some cases, thememory dies 625 may include a memory die having its own packagedifferent than the semiconductor package 680. In some cases, the memorydies 625 may include one or more dies having a set of TSVs 621 to relaythe second signal 620. In other words, the memory dies 625 may relay thesecond signal 620 through the set of TSVs 621. In some examples, thetop-most memory die (e.g., the memory die 625-n) of the memory dies 625may not have TSVs when the top-most memory die does not need to relaythe second signal 620 farther (absent a repeater 607 and a second set ofmemory dies 626). In some examples, each memory die of the memory dies625 may include a receiver (not shown) configured to receive and decodethe second signal 620.

The memory controller 605 may send a Chip Enable (CE) signal to thememory dies 625 when the memory controller 605 transmit the secondsignal 620 through the set of TSVs 621. The CE signal designates atargeted memory die (e.g., 625-a, or any one of the memory dies 625depicted in the diagram 601) among the memory dies 625 to receive thesecond signal 620. In some examples, the memory controller 605 maydirectly send the CE signal to the targeted memory die. When thetargeted memory die (e.g., the memory die 625-a) receives the CE signal,the targeted memory die (e.g., the memory die 625-a) may activate itsreceiver to receive the second signal 620 and decode informationcontained therein.

The other memory dies (e.g., memory dies 625 other than 625-a) may notactivate their receivers to avoid power consumption associated withactivating their receivers. In some examples, the CE signal may beencoded, for example using a PAM scheme. In such cases, one or morememory dies of the memory dies 625 may include another receiverconfigured to decode the CE signal to determine whether the secondsignal 620 is targeted for them to receive. The targeted memory die(e.g., the memory die 625-a), upon determining that the second signal620 is intended for it to receive, may activate its receiver configuredto receive the second signal 620 and decode information containedtherein.

The diagram 601 further illustrates the repeater 607 and the second setof memory dies 626 that are co-located within the semiconductor package680. The repeater 607 and the second set of memory dies 626 may bepositioned above the first set of memory dies 625. The second set ofmemory dies 626 (e.g., the memory dies 626-a through 626-m) may be oneor more memory chips or dies employing the same or different memorytechnologies, e.g., DRAM, NAND, FeRAM, 3DXP, or a combination thereof.In some cases, the memory dies 626 may include one or more dies having aset of TSVs 622 to relay multi-level signals, including the secondsignal 620. In some examples, the top-most memory die (e.g., the memorydie 626-m) may not include TSVs when the top-most memory die does notneed to relay the signals farther. In some examples, each memory die ofthe memory dies 626 may include a receiver (not shown) configured toreceive and decode the signals.

The repeater 607 may alleviate issues associated with a verticaldistance for the second signal 620 to travel. Such issues may bereferred to as Z-height restriction issues in some cases. Z-heightrestriction issues may arise when the first number of memory dies 625(e.g., eight memory dies) creates a vertical distance that may be longenough to result in a degradation of the second signal 620 received atthe next memory die (e.g., memory die 626-a absent the repeater 607). Asa result, a failure in decoding the second signal 620 may occur (e.g.,at memory die 626-a absent the repeater 607) due to the degradation ofthe second signal 620. In some examples, extended rise and fall timescombined with jitter, distortion, and diminished amplitudes maycontribute to the degradation of the second signal 620 after travelingthe vertical distance associated with the first number of memory dies625.

The repeater 607 may be electrically coupled with the first number ofmemory dies 625 through the first set of TSVs 621 and the second numberof memory dies 626 through the second set of TSVs 622. The repeater 607may be configured to receive the second signal 620 through the first setof TSVs 621 and re-transmit the second signal 620 to the second numberof memory dies 626 that are located above the first number of memorydies 625 through the second set of TSVs 622. The repeater 607 may bereferred to as a re-driver in light of its signal re-transmittingfunction. In some examples, the first number of memory dies 625 may bereferred to as a first tier while the second number of memory dies 626may be referred to as a second tier.

As described above the first number of memory dies 625, in someexamples, may include a first set of TSVs 621 through which the secondsignal 620 may be relayed. In addition, the second number of memory dies626, in some examples, may include a second set of TSVs 622 throughwhich the second signal 620 may be relayed. The memory controller 605may be referred to as a main master configured to communicate with therepeater 607 when the memory controller 605 sends the second signal 620to the second number of memory dies 626. In some examples, a set ofpass-through TSVs (not shown) may be employed to directly couple thememory controller 605 with the repeater 607. The pass-through TSVs maybe configured with a different (e.g., smaller in physical dimensions andfewer in numbers) structural features than the first set of TSVs 621 orthe second set of TSVs 622 due to a relatively simpler nature of signalsbetween the repeater 607 and the memory controller 605 absent variouscircuits associated with the first or the second set of TSVs.

The memory controller 605, when sending the second signal 620 to thesecond number of memory dies 626 in the second tier, may be restrictedfrom accessing the memory dies 625 in the first tier. The restrictionstems from the fact that the first set of TSVs 621 associated with thefirst number of memory dies 625 may be used to relay the second signal620 to the second number of memory dies 626 in conjunction with therepeater 607 receiving and re-transmitting the second signal 620. Inother words, accessing the first number of memory dies 625 in the firsttier and accessing the second number of memory dies 626 in the secondtier may be carried out in a time-divided manner.

In some examples, during a first time duration, the memory controller605 may access the first number of memory dies 625 in the first tierwhile the second number of memory dies 626 in the second tier areisolated. During a second time duration following the first timeduration, the memory controller 605 (e.g., main master), incollaboration with the repeater 607 (e.g., re-driver), may access thesecond number of memory dies 626 in the second tier through the firstset of TSVs 621 and the second set of TSVs 622 while the first number ofmemory dies 625 in the first tier are isolated.

The diagram 601 further illustrates a third set of TSVs 623 co-locatedwithin the semiconductor package 680. The third set of TSVs 623 may beelectrically coupled with the memory controller 605 and the repeater607. A single representation of the third set of TSVs 623 in FIG. 6 isillustrated in an effort to increase visibility and clarity of thedepicted features. Additional configurations are contemplated The thirdset of TSVs 623 may alleviate the issues related to the time-dividedmanner of accessing the first number of memory dies 625 in the firsttier and the second number of memory dies 626 in the second tier. Thememory controller 605 may generate a signal 620-a to send through thethird set of TSVs 623. The signal 620-a may be considered as a modifiedexample of the second signal 620 due to its nature bypassing the firstnumber of memory dies 625.

For example, the signal 620-a may be the same as the second signal 620except that the signal 620-a may be less susceptible to the degradationassociated with the second signal 620 traveling through the first numberof memory dies 625. The third set of TSVs 623 may be configured withstructural features (e.g., similar in physical dimensions and numbers)of the first set of TSVs 621 or the second set of TSVs 622. The memorycontroller 605 may be configured to communicate with the repeater 607when the memory controller 605 sends the signal 620-a to the secondnumber of memory dies 626 through the third set of TSVs 623. Inaddition, the repeater 607 may be configured to receive the signal 620-athrough the third set of TSVs 623 and re-transmit the signal 620-a tothe second number of memory dies 626 through the second set of TSVs 622.

The addition of the third set of TSVs 623, in some examples, may enablethe memory controller 605 simultaneously, or at least during a partiallyoverlapping period, access the first number of memory dies 625 and thesecond number of memory dies 626. In other words, the memory controller605, when sending the second signal 620 to the first number of memorydies 625 in the first tier, may operate independent of the second numberof memory dies in the second tier. At the same time, or at least duringa partially overlapping period, the memory controller 605 (e.g., mainmaster), in collaboration with the repeater 607 (e.g., re-driver), mayaccess the second number of memory dies 626 in the second tier due tothe presence of the third set of TSVs 623 relaying the signal 620-a inparallel with the second signal 620. Hence, the configuration depictedin the diagram 601 may allow support of expanded memory capacity in thefirst and the second tier to improve performance of a memory system.

FIGS. 7-8 illustrate a memory device configured to communicate one ormore binary-symbol signal(s) and/or one or more multi-symbol signal(s)using signal paths dedicated to a communicating a particular type ofsignal (e.g., binary-symbol signal or multi-symbol signal) in a memorydevice. The memory device may transfer data across a large number ofchannels in a memory device using binary or multi-level signaling, suchas NRZ and PAM, respectively. The signals may be transmitted throughdifferent dedicated signal paths, which may result in improved read andwrite times, reduced power consumption, and/or improved reliability ofthe memory device. The features and/or functions described withreference to FIGS. 7-8 may be combined with the features and/orfunctions of other aspects of a memory device as described withreference to FIGS. 1-6 and FIGS. 9-22.

FIG. 7 illustrates an example memory device 700 in accordance withvarious examples of the present disclosure. Memory device 700 may be anexample of system 100 as described with reference to FIG. 1. Memorydevice 700 may include memory controller 705, a first memory die 710, asecond memory die 715, a host 740. In some examples, the memorycontroller 705 may include an encoder 745 and a path selection component750, In other examples, the first memory die 710 may be coupled with thememory controller 705 by a first signal path 720 and a second signalpath 725.

The second memory die 715 may be coupled with the memory controller 705a third signal path 730 and a fourth signal path 735. In some examples,the first signal path 720, second signal path 725, the third signal path730, and the fourth signal path 735 may be individual examples of theinternal signal paths 115 as described with reference to FIG. 1. Inother examples, first memory die 710 and second memory die 715 may beindividual examples of the memory dies 105 as described with referenceto FIG. 1. Additionally or alternatively, for example, the memorycontroller 705 may be an example of the memory controller 110 asdescribed with reference to FIG. 1. In other examples, the host 740 maybe an example of the computing device 120 as described with reference toFIG. 1.

First memory die 710 may include one or more memory cells (notillustrated), which may be referred to as a plurality of memory cells ofthe first memory die 710. In some examples, the memory controller 705may communicate one or more signals to the plurality of memory cells ofthe memory die 710 through the first signal path 720 and the secondsignal path 725. For example, the first signal path 720 may be coupledwith the memory controller 705 and the first memory die 710 and may beconfigured to communicate a multi-level signal to the first memory die710. Additionally or alternatively, for example, the second signal path725 may be coupled with the memory controller 705 and the first memorydie 710 and may be configured to communicate a binary-symbol signal tothe first memory die 710.

In other examples, each of the first signal path 720 and the secondsignal path 725 may be configured to communicate a multi-level signal ora binary-symbol signal to the first memory die 710. In some examples,each of the signal paths may be configured to communicate a dedicatedsignal type. For example, first signal path 720 and second signal path725 may be configured to transmit a binary-symbol signal. In otherexamples, third signal path 730 and fourth signal path 735 may beconfigured to transmit a multi-level signal. In other examples, any offirst signal path 720, second signal path 725, third signal path 730,and fourth signal path 735 may be configured to communicate either abinary-symbol signal or a multi-level signal.

Memory die 715 may include one or more memory cells (e.g., as describedwith reference to FIG. 2), which may be referred to as a plurality ofmemory cells of the second memory die 715. In some examples, the memorycontroller 705 may communicate one or more signals to the plurality ofmemory cells of the memory die 710 through the third signal path 730 andthe fourth signal path 735. For example, the third signal path 730 maybe coupled with the memory controller 705 and the second memory die 715and may be configured to communicate a multi-level signal to the secondmemory die 715. Additionally or alternatively, for example, the fourthsignal path 735 may be coupled with the memory controller 705 and thesecond memory die 715 and may be configured to communicate abinary-symbol signal to the second memory die 715. In other examples,each of the third signal path 730 and the fourth signal path 735 may beconfigured to communicate a multi-level signal or a binary-symbol signalto the second memory die 710.

In some examples, the path selection component 750 may facilitate theselection of one or more paths. For example, path selection component750 may select the first signal path 720 to communicate a signal tofirst memory die 710. In other examples, path selection component 750may select the third signal path 730 to communicate a signal to secondmemory die 715. In any example, path selection component 750 may selectone or more signal paths based on a type of signal (e.g., abinary-symbol signal), a type of data transferred (e.g., control data),or an availability of a channel for data transfer.

In additional examples, each of first memory die 710 and second memorydie 715 may receive a multi-level or binary-symbol signal in response toa CE signal (e.g., chip-enable). For example, the memory controller 705may transmit a CE signal to one of first memory die 710 or second memorydie 715. Upon receiving the CE signal, one of first memory die 710 orsecond memory die 715 may indicate, to the memory controller 705, totransmit a multi-level or a binary-symbol signal.

In some examples, memory device 700 may include a bus binary-symbolsignal configured to communicate a multi-level signal or a binary-levelsignal along any of the signal paths. In communicating either amulti-level signal or a binary-symbol signal, the bus or memorycontroller 705 may communicate the signals based on a timing of a systemclock. In some examples, the system clock may be associated with (e.g.,integrated) memory controller 705. In other examples, the system clockmay be external to the memory controller 705. For example, the memorycontroller 705 may transmit the multi-level signal, the binary-levelsignal, or both during a rising edge of the system clock, a falling edgeof the system clock, or both.

Certain data may be transmitted in each of the multi-level signal andthe binary-symbol signal. For example, the multi-level signal mayinclude control data and the binary-level signal may include metadata.In other examples, the multi-level signal may include metadata and thebinary-level signal may include control data. In further examples, themulti-level signal may include either metadata or control data and thebinary-symbol signal may include metadata or control data. In otherexamples, either of the multi-level signal or the binary-symbol signalmay include storage data. The storage data may, correspond to one ormore memory cells of the first memory die 710 or the second memory die715. In some examples, one or both of the metadata and the control datamay be transmitted to one or more memory devices or one or more stacksof a single memory device. In other examples, one or both of themetadata and the control data may be stored redundantly in more than onememory device. For example, one or both of the metadata and the controldata may be stored in a NAND device as long-term backup data, and may betransmitted to both a NAND device and a DRAM device.

In any configuration, the multi-level signal and binary-symbol signalmay be transmitted by the memory controller 705 concurrently. Forexample, at least a portion of the multi-level signal may be transmittedto the first memory die 710 at a same time as at least a portion of thebinary-symbol signal may be transmitted to the second memory die 715.The signals may be transmitted such that a portion, or the entirety, ofeach signal is communicated in at a same time—for example, during arising edge of the system clock of the memory controller 705.

Each of the multi-level and binary-level signals may be modulated usinga modulation scheme. In some examples, the multi-level and binary-levelsignals may be modulated via an encoder 745. For example, themulti-level signal may be modulated using a pulse amplitude modulation(PAM) modulation scheme and the binary-symbol signal may be modulatedusing a non-return-to-zero (NRZ) scheme. In a PAM modulation scheme, themulti-level signaling may include s PAM4 signaling, PAM8 signaling, etc.In this modulation scheme, for example, data (e.g., control data ormetadata, for example) may be encoded in the amplitude of the signal.The amplitude, or a single symbol, may represent one bit of data. Inother examples, the amplitude, or a single symbol, may represent two ormore bits of data.

The signal may be demodulated, for example, by detecting the amplitudelevel of the signal during a given period. In another example, thebinary-level signal may be modulated using a two-level amplitudemodulation scheme (e.g., NRZ) modulation scheme. In such examples, alogic “1” may be represented by a first voltage level (e.g., positivevoltage) and a logic “0” may be represented by a second voltage level(e.g., a negative voltage). In other examples, a two-level amplitudemodulation scheme may include a non-return-to-zero level (NRZ(L)),non-return-to-zero inverted (NRZ(I)), non-return-to-zero mark (NRZ(M)),non-return-to-zero space (NRZ(S)), or non-return-to-zero change (NRZ(C))modulation scheme.

FIG. 8 illustrates an example process flow diagram 800 in accordancewith various examples of the present disclosure. Process flow diagram800 may illustrate one or more operations conducted by memory device 700as described with reference to FIG. 7. Process flow diagram 800 mayinclude operations conducted by a memory controller 805, a memory die810, and a memory die 815. In some examples, memory controller 805,memory die 810, and memory die 815 may be examples of memory controller705, memory die 710, and memory die 715, respectively, as described withreference to FIG. 1. In other examples, memory die 810 and memory die815 may be referred to as first memory die 810 and second memory die815, respectively.

At block 820, the memory controller 805 may identify first data to becommunicated to the first memory die 810. The first memory die 810 may,for example, include one or more memory cells that may be referred to asa plurality of memory cells. In some examples, the first memory die 810may include ferroelectric memory cells, dynamic random access memorycells, NAND memory cells, NOR memory cells, or a combination thereof.First data may include, for example, metadata or control data and may beprovided to the memory controller 805 via a host computing device 120 asdescribed with reference to FIG. 1.

In other examples, storage data may be provided to the memory controller805 via the host computing device 120 as described with reference toFIG. 1. In some examples, the storage data may be associated with one ormore memory cells of the first memory die 810 or the second memory die815. Upon identifying the first data, the memory controller 805 maydetermine a modulation scheme for the data at block 825. As describedabove with reference to FIG. 7, the first data may be modulated using amulti-symbol modulation scheme (e.g., PAM) or binary-symbol modulationscheme (e.g., NRZ), which may correspond to a multi-level and abinary-symbol signal, respectively.

At block 830, the memory controller 805 may select a signal path forcommunicating the first data. The signal path may be, for example, oneof first signal path 720, second signal path 725, third signal path 730,or fourth signal path 735 as described with reference to FIG. 7. Alsodescribed with reference to FIG. 7, the signal path may be a conductorin a through silicon via (TSV). Once a signal path has been selected,through transmission 235, the memory controller 805 may communicate thefirst signal modulated using the modulation scheme to the first memorydie 810 using the decided-upon signal path. In some cases, the memorycontroller 805 may select the signal path. The memory controller 805 mayidentify one or more capabilities of the signal path (e.g., bandwidth)or the availability of the signal path to transmit the signal.

For instance, the memory controller 805 may identify types of signalsthat can be communicated using the signal path. If a signal path isconfigured to communicate the type of signal requesting transmission(e.g., the signal is a multi-symbol signal and the signal path isconfigured to communicate multi-symbol signals), the memory controller805 may select the given signal path. In some cases, the availability ofthe signal path (e.g., bandwidth) may also be considered when selectinga signal path. In other examples, the signal path may be selected by thememory controller 805 based on the type of signal transmitted (e.g., abinary-symbol signal). In communicating the first signal, the memorycontroller 805 may communicate the first signal based on a timing of asystem clock. In some examples, the system clock may be associated with(e.g., integrated) memory controller 805. In other examples, the systemclock may be external to the memory controller 805. For example, thememory controller 805 may transmit the first signal during a rising edgeof the system clock, a falling edge of the system clock, or both.

By way of example, the memory controller 805 may identify control datato be communicated to the first memory die 810. Upon identifying thecontrol data, the memory controller 805 may select a PAM modulationscheme to encode the control data in a multi-symbol signal and mayselect the first signal path 720 (as described with reference to FIG. 7)to communicate the multi-symbol signal encoded with the control data.The selection of signal path 720 may be based at least in part of thedetermination of the PAM modulation scheme. In some examples, choosing adifferent signal path (e.g., third signal path 730) may be based atleast in part on choosing a different modulation scheme (e.g., a NRZmodulation scheme). In either example, the memory controller 805 maycommunicate a first signal modulated using the PAM modulation scheme tothe first memory die 810 using the first signal path (e.g., signal path720).

In another example, the memory controller 805 may identify second dataat block 840. Second data may include, for example, metadata or controldata and may be provided to the memory controller 805 via a host (notillustrated). In other examples, the second data may include storagedata that may be associated with first memory die 810 or second memorydie 815. In some examples, the second data may be a same data type asthe identified first data, and in other examples the second data may bea different data type (e.g., metadata) as the identified first data.Upon identifying the second data, the memory controller 805 maydetermine a modulation scheme for the data at block 845. As describedabove, the second data may be modulated using a multi-symbol modulationscheme (e.g., PAM4) or a binary-symbol modulation scheme (e.g., NRZ)modulation scheme.

At block 850, the memory controller 805 may select a signal path forcommunicating the second data. The signal path may be, for example, oneof first signal path 720, second signal path 725, third signal path 730,or fourth signal path 735 as described with reference to FIG. 7. Alsodescribed above, the signal path may be a conductor in a TSV. In someexamples, the signal path may be a same type of signal path as used tocommunicate the first signal, and in other examples the signal path maybe a different type of signal path as used to communicate the firstsignal.

Once a signal path has been selected, at block 850, the memorycontroller 805 may communicate the second signal modulated using themodulation scheme to the first memory die 810 using the decided-uponsignal path. This may occur through transmission 855. In communicatingthe second signal, the memory controller 805 may communicate the firstsignal based on a timing of a system clock. For example, the memorycontroller 805 may transmit the second signal during a rising edge ofthe system clock, a falling edge of the system clock, or both. Infurther examples, the memory controller 805 may transmit the firstsignal and the second signal simultaneously. For example, at least aportion of the first signal may be transmitted to the first memory die810 at a same time as at least a portion of the second signal may betransmitted to the second memory die 815. The signals may be transmittedsuch that a portion, or the entirety, of each signal is communicated inat a same time—for example, during a rising edge of the system clock ofthe memory controller 805

By way of example, the memory controller 805 may identify second controldata to be communicated to the first memory die 810. Upon identifyingthe second control data, the memory controller 805 may determine a NRZmodulation scheme for the second control data and may select, forexample, second signal path 725 (as described with reference to FIG. 7)to communicate the control data. The selection of signal path 725 may bebased at least in part of the determination of the NRZ modulationscheme. Thus the memory controller 805 may communicate a second signalmodulated using the NRZ modulation scheme to the first memory die 810using the second signal path (e.g., signal path 720).

In an additional example, through transmission 860, the memorycontroller 805 may communicate the first signal to the second memory die815. The second memory die 815 may, for example, include one or morememory cells that may be referred to as a plurality of memory cells. Insome examples, the plurality of memory cells of the second memory die815 may include a different type of memory cell than the first memorydie 810.

By way of the example, above, the first data may include control dataand may be modulated using a multi-symbol modulation scheme. The firstdata may be communicated to the second memory die 815, for example,through a third signal path (e.g., signal path 730 as described withreference to FIG. 7). However, in other examples, the first data mayinclude a different type of data and/or be modulated using a NRZmodulation scheme. In either instance, the modulation scheme may bebased at least in part on a data type of the first data (e.g., controldata). The first data may then be communicated to the second memory die815, for example, through a different signal path (e.g., the fourthsignal path 735 as described with reference to FIG. 7).

Additionally or alternatively, for example, through transmission 865,the memory controller 805 may communicate the second signal to thesecond memory die 815. By way of the example, above, the second data mayinclude metadata and may be modulated using a NRZ modulation scheme. Thesecond data may be communicated to the second memory die 815, forexample, through a fourth signal path (e.g., signal path 735 asdescribed with reference to FIG. 1). However, in other examples, thesecond data may include a different type of data and/or be modulatedusing a PAM modulation scheme. In either instance, the modulation schememay be based at least in part on a data type of the first data or thesecond data (e.g., control data). The second data may then becommunicated to the second memory die 815, for example, through adifferent signal path (e.g., the third signal path 730 as described withreference to FIG. 1).

FIGS. 9-13 illustrate a memory device configured to support bothmulti-symbol signaling and binary-symbol signaling and that may utilizevarious signaling modes to adjust a data transfer rate or reduce anoutput pin count (e.g., lower the number of output pins active in thesignaling scheme). In some cases, the memory device may include a memoryarray coupled with a buffer, where the buffer is coupled to amultiplexer configured to output a group of bits comprising more thanoen bits, such as a bit pair. Additionally, the multiplexer may becoupled to a driver, where the driver maybe configured to generate asymbol representative of the group of bits. The symbol may berepresentative of an integer number of bits (e.g., a PAM4 symbolrepresentative of two bits) or a non-integer number of bits (e.g., aPAM3 symbol representative of more than one but less than two bits). Thesymbol representative of the group of bits may be output on an outputpin of the memory device. The features and/or functions described withreference to FIGS. 9-13 may be combined with the features and/orfunctions of other aspects of a memory device as described withreference to FIGS. 1-8 and FIGS. 14-22.

FIG. 9 illustrates an example circuit 900 in accordance with variousexamples of the present disclosure. Circuit 900 may include memory array905, output circuit 935, and output pin 925. Output circuit 935 mayinclude buffer 910, multiplexer 915, and driver 920.

Memory array 905 may store data and may comprise a plurality of memorycells, which may be volatile memory cells, non-volatile memory cells, ora combination thereof. The memory array 905 may include one or morememory dies (e.g., memory dies 105 described with reference to FIG. 1).In some examples, memory array 905 may be coupled with output circuit935, and may directly or indirectly be coupled with buffer 910 withinoutput circuit 935. For example, memory array 905 may be coupled with adata bus with which buffer 910 is also coupled. The data bus may be aserial or parallel data bus. Other components not shown in circuit 900may also be coupled to the data bus, such as one or more memorycontrollers, memory sensing components, row or column decoders, clocksignals, or other output circuits.

Data stored in memory array 905 may be sensed or read by one or morememory sensing components, and buffer 910 may store bits reflective ofdata stored in memory array 905 for some length of time before supplyingsuch bits to multiplexer 915. Buffer 910 may include of a number oflogically or physically distinct portions—e.g., one or more logically orphysically distinct buffers may be included within buffer 910. Forexample, buffer 910 may include at least a first buffer and a secondbuffer. Buffers included in buffer 910 may be examples of first-infirst-out (FIFO) buffers.

Buffer 910 may supply multiple bits to multiplexer 915 at once, e.g.,via a parallel interface. For example, buffer 910 may in some examplessupply eight bits to multiplexer 915 in parallel. Further, buffer 910may supply bits to multiplexer 915 intermittently. For example, buffer910 may supply a group of bits to multiplexer 915 and wait a number ofclock cycles before supplying a subsequent group of bits to multiplexer915, and the number of clock cycles between groups of bits may be basedat least in part on a number clock cycles required by multiplexer 915 toprocess or at least partially process a preceding group of bits.

Multiplexer 915, which may in some cases also be referred to as aserializer, may receive groups of bits from buffer 910, such as a bitsoutput by buffer 910 in parallel, and may output the received bitsserially. Thus, multiplexer 915 may act as a parallel to serialconverter—e.g., multiplexer 915 may receive parallel bits from buffer910 and output corresponding serial bits.

In some cases, multiplexer 915 may include a number of logically orphysically distinct portions—e.g., one or more logically of physicallydistinct multiplexers may be included within multiplexer 915. Portionsof multiplexer 915 may be arranged in parallel with one another, inseries with one another, or in some other cascaded fashion (e.g., asmultiple stages of multiplexing). For example, as shown in circuit 900,multiplexer 915 may include first multiplexer 915-a, second multiplexer915-b, and third multiplexer 915-c. Multiplexer 915-a may be an exampleof a first multiplexer that may be configured to process bits output bya first buffer of buffer 910.

Multiplexer 915-b may be an example of a second multiplexer that may beconfigured to process bits output by a second buffer of buffer 910. Insome examples, first multiplexer 915-a and second multiplexer 915-b mayboth serialize a same number of bits. For example, first multiplexer915-a and second multiplexer 915-b may both be four-to-one multiplexers(e.g., may both receive four bits via four parallel inputs and mayoutput those four bits in series via a single serial output) and thuscollectively comprise an eight-to-two multiplexer. Third multiplexer915-c may be a two-to-one multiplexer that serializes the respectiveoutputs of first multiplexer 915-a and second multiplexer 915-b suchthat first multiplexer 915-a, second multiplexer 915-b, and thirdmultiplexer 915-c collectively act as an eight-to-one multiplexer. Forexample, multiplexer 915-c may receive one bit of information frommultiplexer 915-a and one bit of information from multiplexer 915-b,each via a different parallel input, output those two bits in series viaa single serial output. In some cases, buffer 910 may supply bits tomultiplexer 915 then wait a predetermined number of clock cycles beforesupplying additional bits to multiplexer 915.

In some examples, multiplexer 915 may be coupled with driver 920. Driver920 may also be coupled with output pin 925. Driver 920 may beconfigured to receive bits from multiplexer 915, generate a symbolrepresentative of each bit received from multiplexer 915, and supplysuch symbols to output pin 925. For example, driver 920 may be atwo-level signal driver and may generate a symbol for each bit output bymultiplexer 915 and supply the symbols to output pin 925. In some cases,the two-level signal driver encodes the data using a non-return-to-zero(NRZ) modulation scheme, unipolar encoding modulation scheme, bipolarencoding modulation scheme, Manchester encoding modulation scheme, PAM2modulation scheme, and/or others.

In some cases, memory array 905 may be coupled to a plurality ofcircuits 900. For example, memory array 905 may be coupled to eightcircuits 900, and, collectively, those eight circuits 900 may beconfigured to output eight two-level signal symbols (collectivelyrepresenting eight bits of information stored within memory array 905)at each rising edge of a clock signal, each falling edge of a clocksignal, or each rising and falling edge of a clock signal. These may beexamples of an ×8 (or byte mode) two-level signal mode of operation. Asanother example, memory array 905 may be coupled to sixteen circuits900, and, collectively, those sixteen circuits 900 may be configured tooutput sixteen two-level signal symbols (collectively representingsixteen bits of information stored within memory array 905) at eachrising edge of a clock signal, each falling edge of a clock signal, oreach rising and falling edge of a clock signal. These may be examples ofa ×16 two-level signal mode of operation. One of ordinary skill willappreciate that other numbers of circuits 900 may be utilized in atwo-level signal mode of operation.

FIG. 10 illustrates an example circuit 1000 in accordance with variousexamples of the present disclosure. Circuit 1000 may include memoryarray 1005, output circuit 1035, and output pin 1025. Output circuit1035 may include buffer 1010, multiplexer 1015, and driver 1020.

Memory array 1005 may store data and may comprise a plurality of memorycells, which may be volatile memory cells, non-volatile memory cells, ora combination thereof. In some examples, memory array 1005 may becoupled with output circuit 1035, and may directly or indirectly becoupled with buffer 1010 within output circuit 1035. For example, memoryarray 1005 may be coupled with a data bus with which buffer 1010 is alsocoupled. The data bus may be a serial or parallel data bus. Othercomponents not shown in circuit 1000 may also be coupled to the databus, such as one or more memory controllers, memory sensing components,row or column decoders, clock signals, or other output circuits.

Data stored in memory array 1005 may be sensed or read by one or morememory sensing components, and buffer 1010 may store bits reflective ofdata stored in memory array 1005 for some length of time beforesupplying such bits to multiplexer 1015. Buffer 1010 may include anumber of logically or physically distinct portions—e.g., one or morelogically or physically distinct buffers may be included within buffer1010. For example, buffer 1010 may include at least first buffer 1010-aand second buffer 1010-b.

Buffer 1010-a and buffer 1010-b may examples of FIFO buffers. Firstbuffer 1010-a may process bits corresponding to data stored in a firstportion of memory array 1005, and second buffer 1010-b may process bitscorresponding to data stored in a second portion of memory array 1005.In some cases, the first portion of memory array 1005 may be closer tobuffer 1010 than the second portion of memory array 1005. Buffer 1010may supply multiple bits to multiplexer 1015 at once, e.g., via aparallel interface. In some cases, first buffer 1010-a and second buffer1010-b may process bits corresponding to data stored in a same portionof memory array 1005, including data stored in a same memory cell withinmemory array 1005 (e.g., the memory cell may be a memory cell thatsupports the storage of a non-binary symbol, such as a quad-level NANDmemory cell programmable to one of four logic states, and first buffer1010-a may process a first bit and second buffer 1010-b may process asecond bit, the first bit and the second bit collectively representativeof the data stored by the memory cell).

For example, buffer 1010 may in some examples supply eight bits tomultiplexer 1015 in parallel. Further, buffer 1010 may supply bits tomultiplexer 1015 intermittently. For example, buffer 1010 may supply agroup of bits to multiplexer 1015 and wait a number of clock cyclesbefore supplying a subsequent group of bits to multiplexer 1015, and thenumber of clock cycles between groups of bits may be based at least inpart on a number of clock cycles required by multiplexer 1015 to processor at least partially process a preceding group of bits.

Multiplexer 1015 may receive groups of bits from buffer 1010, such as abits output by buffer 1010 in parallel, via some number of parallelinputs and may output the received bits via a different number ofparallel outputs. In some cases, multiplexer 1015 may output bits via alesser number of parallel outputs than the number of parallel inputs viawhich multiplexer 1015 received the bits from buffer 1010. For example,multiplexer 1015 may receive eight bits in parallel from buffer 1010 andoutput those bits via two parallel outputs—e.g., as bit pairs. The bitpair may be representative of data stored within memory array 1005.Thus, multiplexer 1015 may act as a partial parallel to serial converteror partial serializer.

In some cases, multiplexer 1015 may include a number of logically orphysically distinct portions—e.g., one or more logically or physicallydistinct multiplexers may be included within multiplexer 1015. Portionsof multiplexer 1015 may be arranged in parallel with one another, inseries with one another, or in some other cascaded fashion (e.g., asmultiple stages of multiplexing). For example, as shown in circuit 1000,multiplexer 1015 may include first multiplexer 1015-a and secondmultiplexer 1015-b.

First multiplexer 1015-a may be an example of a multiplexer that may beconfigured to process bits output by first buffer 1010-a. Secondmultiplexer 1015-b may be an example of a multiplexer that may beconfigured to process bits output by second buffer 1010-b. Firstmultiplexer 1015-a may output to driver 1020 a first bit of a bit group(e.g., a bit pair), and second multiplexer 1015-b may output to driver1020 a second bit of the bit group (e.g., a bit pair). First multiplexer1015-a may process the first bit of the bit pair output from firstbuffer 1010-a while second multiplexer 1015-b may process the second bitof the bit pair output from second buffer 1010-b.

In some examples, the first bit of the bit pair may be representative ofdata stored within a first portion of memory array 1005. The second bitof the bit pair may be representative of data stored within a secondportion of memory array 1005 that is different from the first portion ofmemory array 1005. In some cases, the first portion of memory array 1005may be closer to buffer 1010 than the second portion of memory array1005. Buffer 1010 may supply multiple bits to multiplexer 1015 at once,e.g., via a parallel interface.

In some cases, the first bit of the bit pair and the second bit of thebit pair may be representative of data stored in a same portion ormemory array 1005, including data stored in a same memory cell withinmemory array 1005 (e.g., the memory cell may be a memory cell thatsupports the storage of a non-binary symbol, such as a quad-level NANDmemory cell programmable to one of four logic states, and first buffer1010-a may process a first bit and second buffer 1010-b may process asecond bit, the first bit and the second bit collectively representativeof the data stored by the memory cell).

In some examples, first multiplexer 1015-a and second multiplexer 1015-bmay each be an example of a four-to-one multiplexer, and firstmultiplexer 1015-a and second multiplexer 1015-b may thus collectivelycomprise an eight-to-two multiplexer. One of ordinary skill willappreciate that multiplexer 1015 may be configured to output groupscomprising more than two bits (e.g., via more than two paralleloutputs).

In some examples, multiplexer 1015 may be coupled with driver 1020.Driver 1020 may also be coupled with output pin 1025. Driver 1020 may beconfigured to receive groups of bits (e.g., bit pairs) from multiplexer1015, generate a symbol representative of each group of bits receivedfrom multiplexer 1015, and supply such symbols to output pin 1025. Forexample, driver 1020 may receive one bit of a bit pair from multiplexer1015-a and another bit of the bit pair from multiplexer 1015-b, generatea symbol representative of the bit pair, and supply the symbolrepresentative of the bit pair to output pin 1025.

In some cases, driver 1020 may be a pulse amplitude modulation (PAM)driver, and the symbol representative of the bit pair to may be amulti-symbol signal (e.g., PAM4) symbol. In other cases, driver 1020 mayreceive groups of bits from multiplexer 1015 comprising more than twobits (e.g., three bits, four bits, five bits, six bits, seven bits,eight bits), and driver 1020 may generate symbols each representative ofmore than two bits. For example, driver 1020 may receive groups of threebits from multiplexer 1015 and generate a multi-symbol signal symbol(e.g., PAM8 symbol) representing each bit group.

In some cases, memory array 1005 may be coupled to a plurality ofcircuits 1000. For example, memory array 1005 may be coupled to a numberof circuits 1000 (in some cases eight circuits), and, collectively, thatnumber of circuits 1000 may be configured to output a similar number ofmulti-symbol signal symbols at each rising edge of a clock signal, eachfalling edge of a clock signal, or each rising and falling edge of aclock signal. For example, each circuit 1000 may output a symbol of amulti-level modulation scheme, where the symbol represents two bits ofdata. If there are eight circuits 1000, collectively the eight symbolswill represent sixteen bits of data stored with memory array 1005.

These may be examples of a ×8 multi-symbol signal mode of operation. Asanother example, memory array 1005 may be coupled to sixteen circuits1000, and, collectively, those sixteen circuits may be configured tooutput sixteen multi-symbol signal symbols (e.g., sixteen PAM4 symbolscollectively representing 32 bits of information stored within memoryarray 1005) at each rising edge of a clock signal, each falling edge ofa clock signal, or each rising and falling edge of a clock signal. Thesemay be examples of a ×16 multi-symbol signal mode of operation. One ofordinary skill will appreciate that other numbers of additional circuits1000 may be utilized in a multi-symbol signal mode of operation.

In some examples, circuit 1000 may be operated at the same symbol rate(which may also be known as baud rate) as circuit 900 while providingdouble the output data rate of circuit 900. In some examples, circuit1000 may be operated at half the symbol rate which may also be known asbaud rate) as circuit 900 while providing the same per-pin output datarate (which may also be known as per-pin bandwidth) as circuit 900.Thus, circuit 1000 may beneficially provide the same per-pin data rateas circuit 900 while allowing a decrease in symbol rate (e.g., whileallowing a decrease in a clock rate upon which the symbol rate maydepend), which may improve the reliability, robustness, or powerconsumption of circuit 1000 and systems or circuits coupled therewith.

In some examples, circuit 1000 may be obtained by deactivating orbypassing the third multiplexer 915-c from circuit 900. Driver 1020include both a multi-symbol signal driver and a binary-symbol signaldriver and may be configured to generate a multi-symbol signal symbolfor each group of bits received from multiplexer 1015 and abinary-symbol signal symbol for each bit received from multiplexer 1015.

FIG. 11 illustrates example circuit 1100 in accordance with variousexamples of the present disclosure. Circuit 1100 may include memoryarray 1105, output circuit 1135, and output pin 1125. Output circuit1135 may include buffer 1110, multiplexer 1115, and driver 1120. Circuit1100 may illustrate one or more aspects of circuit 900 or circuit 1000.

Memory array 1105 may store data and may comprise a plurality of memorycells, which may be volatile memory cells, non-volatile memory cells, ora combination thereof. In some examples, memory array 1105 may becoupled with output circuit 1135, and may directly or indirectly becoupled with buffer 1110 within output circuit 1135. For example, memoryarray 1105 may be coupled with a data bus with which buffer 1110 is alsocoupled. The data bus may be a serial or parallel data bus. Othercomponents not shown in circuit 1100 may also be coupled to the databus, such as one or more memory controllers, memory sensing components,row or column decoders, clock signals, or other output circuits.

Data stored in memory array 1105 may be sensed or read by one or morememory sensing components, and buffer 1110 may store bits reflective ofdata stored in memory array 1105 for some length of time beforesupplying such bits to multiplexer 1115. Buffer 1110 may include anumber of logically or physically portions—e.g., one or more logicallyor physically distinct buffers may be included within buffer 1110.

For example, buffer 1110 may include at least first buffer 1110-a andsecond buffer 1110-b. Buffer 1110-a and buffer 1110-b may examples ofFIFO buffers. First buffer 1110-a may process bits corresponding to datastored in a first portion of memory array 1105, and second buffer 1110-bmay process bits corresponding to data stored in a second portion ofmemory array 1105. In some cases, the first portion of memory array 1105may be closer to buffer 1110 than the second portion of memory array1105. In some cases, first buffer 1110-a and second buffer 1110-b mayprocess bits corresponding to data stored in a same portion of memoryarray 1105, including data stored in a same memory cell within memoryarray 1105 (e.g., the memory cell may be a memory cell that supports thestorage of a non-binary symbol, such as a quad-level NAND memory cellprogrammable to one of four logic states, and first buffer 1110-a mayprocess a first bit and second buffer 1110-b may process a second bit,the first bit and the second bit collectively representative of the datastored by the memory cell).

Buffer 1110 may supply multiple bits to multiplexer 1115 at once, e.g.,via a parallel interface. Further, buffer 1110 may supply bits tomultiplexer 1115 intermittently. For example, buffer 1110 may supply agroup of bits to multiplexer 1115 and wait a number of clock cyclesbefore supplying a subsequent group of bits to multiplexer 1115, and thenumber of clock cycles between groups of bits may be based at least inpart on a number of clock cycles required by multiplexer 1115 to processor at least partially process a preceding group of bits.

Multiplexer 1115 may receive groups of bits from buffer 1110, such as abits output by buffer 1110 in parallel, via some number of parallelinputs and may output the received bits via a different number ofparallel outputs. In some cases, multiplexer 1115 may output bits via alesser number of parallel outputs than the number of parallel inputs viawhich multiplexer 1115 received the bits from buffer 1110. For example,multiplexer 1115 may receive sixteen bits in parallel from buffer 1110and output those bits via two parallel outputs—e.g., as bit pairs. Thebit pair may be representative of data stored within memory array 1105.Thus, multiplexer 1115 may act as a partial parallel to serial converteror partial serializer.

In some cases, multiplexer 1115 may include a number of logically orphysically distinct portions—e.g., one or more logically or physicallydistinct multiplexers may be included within multiplexer 1115. Portionsof multiplexer 1115 may be arranged in parallel with one another, inseries with one another, or in some other cascaded fashion (e.g., asmultiple stages of multiplexing). For example, as shown in circuit 1100,multiplexer 1115 may include first multiplexer 1115-a, secondmultiplexer 1115-b, third multiplexer 1115-c, fourth multiplexer 1115-d,fifth multiplexer 1115-e, and sixth multiplexer 1115-f.

Multiplexer 1115-a may be an example of a first multiplexer that may beconfigured to process bits output by first buffer 1110-a of buffer 1110.Multiplexer 1115-b may be an example of a second multiplexer that may beconfigured to process additional bits output by first buffer 1110-a ofbuffer 1110. In some examples, first multiplexer 1115-a and secondmultiplexer 1115-b may both serialize a same number of bits. Forexample, first multiplexer 1115-a and second multiplexer 1115-b may bothbe four-to-one multiplexers (e.g., may both receive four bits via fourparallel inputs and may output those four bits in series via a singleserial output) and thus collectively comprise an eight-to-twomultiplexer. Third multiplexer 1115-c may be a two-to-one multiplexersuch that first multiplexer 1115-a, second multiplexer 1115-b, and thirdmultiplexer 1115-c collectively act as an eight-to-one multiplexer. Forexample, third multiplexer 1115-c may receive one bit of informationfrom first multiplexer 1115-a and one bit of information from secondmultiplexer 1115-b, each via a different parallel input, output thosetwo bits in series via a single serial output.

In some examples, multiplexer 1115 may additionally include fourthmultiplexer 1115-d, fifth multiplexer 1115-e, and sixth multiplexer1115-f. Multiplexer 1115-d may be an example of a first multiplexer thatmay be configured to process bits output by second buffer 1110-b ofbuffer 1110. Multiplexer 1115-e may be an example of a secondmultiplexer that may be configured to process bits output by secondbuffer 1110-b of buffer 1110. In some examples, fourth multiplexer1115-d and fifth multiplexer 1115-e may both serialize a same number ofbits.

For example, fourth multiplexer 1115-d and fifth multiplexer 1115-e mayboth be four-to-one multiplexers (e.g., may both receive four bits viafour parallel inputs and may output those four bits in series via asingle serial output) and thus collectively comprise an eight-to-twomultiplexer. Sixth multiplexer 1115-f may be a two-to-one multiplexersuch that fourth multiplexer 1115-d, fifth multiplexer 1115-e, and sixthmultiplexer 1115-f collectively act as an eight-to-one multiplexer. Forexample, sixth multiplexer 1115-f may receive one bit of informationfrom fourth multiplexer 1115-d and one bit of information from fifthmultiplexer 1115-e, each via a different parallel input, output thosetwo bits in series via a single serial output.

Thus, multiplexer 1115 may act as a sixteen-to-two multiplexercomprising two eight-to-one multiplexers arranged in parallel, with eacheight-to-one multiplexer processing bits from a different portion ofbuffer 1110. One of ordinary skill in the art will appreciate thatmultiplexer 1115 may be configured to output groups comprising more thantwo bits (e.g., via more than two parallel outputs).

In some examples, multiplexer 1115 may be coupled with driver 1120.Driver 1120 may also be coupled with output pin 1125. Driver 1120 may beconfigured to receive groups of bits—e.g., bit pairs—from multiplexer1115, generate a symbol representative of each group of bits receivedfrom multiplexer 1115, and supply such symbols to output pin 1125. Forexample, driver 1120 may receive one bit of a bit pair from thirdmultiplexer 1115-c and another bit of the bit pair from sixthmultiplexer 1115-f, generate a symbol representative of the bit pair,and supply the symbol representative of the bit pair to output pin 1125.

In some cases, driver 1120 may be a multi-symbol signal driver, and thesymbol representative of the bit pair to may be a multi-symbol signalsymbol. In other cases, driver 1120 may receive groups of bits frommultiplexer 1115 comprising more than two bits, and driver 1120 maygenerate symbols each representative of more than two bits. For example,driver 1120 may receive groups of three bits from multiplexer 1115 andgenerate a multi-symbol signal symbol (e.g., PAM8 symbol) representingeach bit group.

In some cases, memory array 1105 may be coupled to a plurality ofcircuits 1100. For example, memory array 1105 may be coupled to eightcircuits 1100, and, collectively, those eight circuits may be configuredto output eight multi-symbol signal symbols (e.g., eight PAM4 symbolscollectively representing sixteen bits of information stored withinmemory array 1105) at each rising edge of a clock signal, each fallingedge of a clock signal, or each rising and falling edge of a clocksignal. These may be additional examples of an ×8 multi-symbol signalmode of operation.

As another example, memory array 1105 may be coupled to sixteen circuits1100, and, collectively, those sixteen circuits may be configured tooutput sixteen multi-symbol signal symbols (e.g., sixteen PAM4 symbolscollectively representing 32 bits of information stored within memoryarray 1105) at each rising edge of a clock signal, each falling edge ofa clock signal, or each rising and falling edge of a clock signal. Thesemay be additional examples of a ×16 multi-symbol signal mode ofoperation. One of ordinary skill will appreciate that other numbers ofadditional circuits 1100 may be utilized in a multi-level signal mode ofoperation.

In some examples, circuit 1100 may be operated at the same symbol rateas circuit 900 while providing double the per-pin output data rate ofcircuit 900. Thus, circuit 1100 may beneficially provide an increase inthe per-pin data rate at which data stored in a memory array may beoutput without requiring an increase in symbol rate (e.g., withoutrequiring an increase in a clock rate upon which the symbol rate maydepend).

In some examples, circuit 900 may be obtained from circuit 1100 bydeactivating or bypassing either eight-to-one multiplexer withinmultiplexer 1115 (e.g., deactivating or bypassing the first multiplexer1115-a, second multiplexer 1115-b, and third multiplexer 1115-c orfourth multiplexer 1115-d, fifth multiplexer 1115-e, and sixthmultiplexer 1115-f). Driver 1120 include both a multi-symbol signaldriver and a binary-symbol signal driver and may be configured togenerate a multi-symbol signal symbol for each group of bits receivedfrom multiplexer 915 and a binary-symbol signal symbol for each bitreceived from multiplexer 915.

In some examples, circuit 1000 may be obtained from circuit 1100 bydeactivating or bypassing either eight-to-one multiplexer withinmultiplexer 1115 (e.g., deactivating or bypassing the first multiplexer1115-a, second multiplexer 1115-b, and third multiplexer 1115-c orfourth multiplexer 1115-d, fifth multiplexer 1115-e, and sixthmultiplexer 1115-f) and also deactivating the remaining two-to-onemultiplexer (e.g., deactivating or bypassing either third multiplexer1115-c or sixth multiplexer 1115-f).

FIG. 12 illustrates an example circuit 1200 in accordance with variousexamples of the present disclosure. Circuit 1200 may include memoryarray 1205, output circuit 1235, and output pin 1225. Output circuit1235 may include buffer 1210, multiplexer 1215, first driver 1220-a, andsecond driver 1220-b. Output circuit 1235 may incorporate aspects ofoutput circuits 935, 1035, or 1135 described with reference to FIGS. 9,10, and 11.

Memory array 1205 may store data and may comprise a plurality of memorycells, which may be volatile memory cells, non-volatile memory cells, ora combination thereof. In some examples, memory array 1205 may becoupled with output circuit 1235, and may directly or indirectly becoupled with buffer 1210 within output circuit 1235. For example, memoryarray 1205 may be coupled with a data bus with which buffer 1210 is alsocoupled.

The data bus may be a serial or parallel data bus. Other components notshown in circuit 1200 may also be coupled to the data bus, such as oneor more memory controllers, memory sensing components, row or columndecoders, clock signals, or other output circuits.

Data stored in memory array 1205 may be sensed or read by one or morememory sensing components, and buffer 1210 may store bits reflective ofdata stored in memory array 1205 for some length of time beforesupplying bits to multiplexer 1215. Buffer 1210 may corporate aspects ofbuffers 910, 1010, or 1110 described with reference to FIGS. 9, 10, and11.

Multiplexer 1215 may be an example of a multiplexer that may beconfigured to process bits output by buffer 1210. In some cases,multiplexer 1215 may incorporate aspects of multiplexers 915, 1015, or1115 described with reference to FIGS. 9, 10, and 11. A memorycontroller may configure the multiplexer 1215 to output groups of bits(e.g., bit pairs) or single bits. In some cases, the bit pair may berepresentative of data stored within memory array 1205. Multiplexer 1215may be coupled with first driver 1220-a and second driver 1220-b. Insome cases, second driver 1220-b may be in parallel to first driver1220-a. First driver 1220-a and second driver 1220-b may also be coupledwith output pin 1225.

In some examples, first driver 1220-a may be configured to receive a bitpair from multiplexer 1215, generate a symbol representative of the bitpair received from multiplexer 1215, and supply such symbols to outputpin 1225. For example, first driver 1220-a may be a multi-level signaldriver and may generate a multi-level signal symbol for each bit pairoutput by multiplexer 1215 and supply those multi-level signal symbolsto output pin 1225.

In some cases, second driver 1220-b may be configured to receive bitsfrom multiplexer 1215, generate a symbol representative of each bitreceived from multiplexer 1215, and supply such symbols to output pin1225. For example, second driver 1220-b may be a binary-symbol signaldriver and may generate a binary-symbol signal symbol for each bitoutput by multiplexer 1215 and supply those binary-symbol signal symbolsto output pin 1225.

In some cases, memory array 1205 may be coupled to a plurality ofcircuits 1200, and a memory controller may configure one or more of theplurality of circuits 1200 to implement a binary-symbol signal ormulti-symbol signal (e.g., PAM4) mode of operation.

FIG. 13 illustrates an example circuit 1300 in accordance with variousexamples of the present disclosure. Circuit 1300 may include memoryarray 1305, memory controller 1310, data bus 1315, output circuit 1335,and output pin 1325. Memory array 1305 may be an example of memory array905, 1005, 1105, and 1205 as described with reference to FIGS. 9-12.Output pin 1325 may be an example of output pin 925, 1025, 1125, and1215 as described with reference to FIGS. 9-12. Output circuit 1335 maybe an example of output circuit 935, 1035, 1135, and 1235 as describedwith reference to FIGS. 9-12. Circuit 1300 may include one or moreaspects of circuit 900, 1000, 1100, and 1200.

Memory array 1305 may store data and may comprise a plurality of memorycells, which may be volatile memory cells, non-volatile memory cells, ora combination thereof. In some examples, memory array 1305 may becoupled with output circuit 1335. For example, memory array 1305 may becoupled with a data bus 1315 with which output circuit 1335 is alsocoupled. Data bus 1315 may be a serial data bus or a parallel data bus.Memory controller 1310 may also be coupled to data bus 1315. Othercomponents not shown in circuit 1300 may also be coupled to data bus1315, such as one or more memory sensing components, row or columndecoders, clock signals, or other output circuits.

In some examples, data bus 1315 may be coupled to four, eight, sixteen,or thirty-two output circuits 1335, and, collectively, those outputcircuits 1335 may be configured by memory controller 1310 to each outputbinary-symbol signal symbols (collectively representing four, eight,sixteen, or thirty-two bits of information stored within memory array1305). These modes of operation may be referred to respectively as ×4,×8 (or byte mode), ×16, or ×32 binary-symbol signal modes of operation.

In some cases, data bus 1315 may be coupled to four, eight, sixteen, orthirty-two output circuits 1335, and, collectively, those circuits maybe configured by memory controller 1310 to each output multi-symbolsignal symbols (collectively representing eight, sixteen, thirty-two, orsixty-four bits of information stored within memory array 1305). Thesemodes of operation may be referred to respectively as ×4, ×8, ×16, or×32 multi-symbol signal modes of operation.

In some examples, memory controller 1310 may detect a period ofinactivity (which may be referred to as idle time) or a period of anoutput data rate below a threshold data rate for some duration of timegreater than or equal to a threshold duration of time and then transmita signal to switch the mode of operation. For example, memory controller1310 may monitor a symbol rate (which may include identifying anassociated clock rate) associated with one or more output pins,determine a data rate for the one or more output pins based on thesymbol rate (e.g., based on how many bits each symbol represents, whichmay be known to memory controller 1310 based on a current signalingmode), compare the data rate to one or more threshold data rates,determine a length of time for which the data rate is above or below athreshold data rate, and adjust the signaling mode at one or more outputpins between binary-symbol signals or orders of multi-symbol signals, oralternatively or additionally adjust the number of active output pins,in order to optimize output data rate, the number of active output pins,or power consumption based on observed conditions.

For example, circuit 1300 may switch from operating eight outputcircuits 1335 to operating sixteen output circuits 1335. That is, asignaling mode that outputs a multi-level signal symbol on some numberof output pins 1325 may be disabled and a signaling mode that outputs atwo-level signal symbol on the same, different, or additional outputpins 1325 may be activated. In some examples, circuit 1300 may be ableto operate eight output circuits 1335 or sixteen output circuits 1335 onthe same die (i.e., the same piece of silicon). In some cases, circuit1300 may act as a slave to an external master component, and the memorycontroller 1310 may adjust the signaling mode at one or more output pinsbetween binary-symbol signals or orders of multi-symbol signals, oralternatively or additionally adjust the number of active output pins,in response to a command from the master component.

In some examples, memory controller 1310 may be configured to determinea first signaling mode for circuit 1300 and configure one or more outputcircuits 1335 to generate non-binary symbols that each represent two ormore bits output by memory array 1305. For example, the first signalingmode may be an example of an ×8 multi-symbol signal mode of operation ora ×16 multi-symbol signal mode of operation. In some cases, memorycontroller 1310 may be configured to determine a second signaling modefor circuit 1300 and configure one or more output circuits 1335 togenerate binary symbols that each represent less than two bits output bymemory array 1305.

For example, the second signaling mode may be an example of an ×8binary-symbol signal mode of operation or a ×16 binary-symbol signalmode of operation. In some cases, the first signaling mode and thesecond signaling mode may use a same symbol rate. In other examples, thefirst signaling mode and the second signaling mode may use a differentsymbol rate. For example, a multi-symbol signal (e.g., PAM4) mode ofoperation may utilize a symbol rate that is less than (e.g., half of) asymbol rate used for a binary-symbol signal mode of operation andprovide the same per-pin data rate but with improved robustness,reliability, or power consumption characteristics or may utilize thesame symbol rate and provide a greater (e.g., double) per-pin data rate.

In some cases, the second signaling mode may be configured to supportfull bandwidth in a memory device using one-half of the available I/Opins. By applying PAM4 signaling to one-half of the I/O pins of thememory device, the same bandwidth as using all of the I/O pins and NRZsignaling may be achieved. Such a configuration may increase the numberof memory dies that can be connected with a channel by reducing the I/Opin count per die. In some examples, eight I/O pins may be connected andthe other eight I/O pins may not be connect and therefore themode-switching may be unavailable. The memory device may operate theconnected eight I/O pins in either PAM4 or NRZ modes.

In some cases, each output circuit 1335 may include a multiplexer. Forexample, memory controller 1310 may configure the multiplexer of atleast eight output circuits 1335 to output a first output type basedduring the first signaling mode. For example, the first output type maybe a group of bits (e.g., a bit pair) and may correspond to amulti-symbol signal (e.g., PAM4) mode of operation. In other examples,memory controller 1310 may configure the multiplexer of at least sixteenoutput circuits 1335 to output a second output type during the secondsignaling mode.

For example, the second output type may be a bit and may correspond to abinary-symbol signal mode of operation. Memory controller 1310 may alsodetect a data rate associated with memory array 1305 for a duration oftime and determine a mode of operation (e.g., determine whether tooutput binary-symbol signal symbols, multi-symbol signal symbols, orother types of symbols, determine a number of output pins 1325 via whichto output symbols, or determine a symbol rate) based on the detecteddata rate.

For example, if the data rate is above a threshold data rate, then afirst signaling mode using a higher order of symbol (e.g., amulti-symbol signal rather than a binary-symbol signal), a greaternumber of output pins 1325 (e.g., ×16 rather than ×8), a higher symbolrate, or a combination thereof may be determined, e.g., to support thehigher data rate. As another example, if the data rate is below athreshold data rate, then a second signaling mode using a lesser orderof symbol (e.g., a binary-symbol signal rather than a multi-symbolsignal), a lesser number of output pins 1325 (e.g., ×8 rather that ×16),a lower symbol rate, or a combination thereof may be determined, e.g.,to support the lower data rate while conserving power or improvingreliability or robustness of output signals.

FIGS. 14-19 illustrate a memory device, waveforms, and processes fordynamically selecting a modulation scheme based on one or moreparameters associated with the memory device. For example, a memorydevice may dynamically switch between modulation schemes, and in somecases frequencies, so that an operating parameter such as bandwidth orpower can be accomodated or satisfied. Since communicating at differentmodulation schemes and frequencies results in varying amounts ofprovided bandwidth and power consumption, the memory device may select acombination of modulation scheme and frequency that provides adequatebandwidth without consuming excess power. The features and/or functionsdescribed with reference to FIGS. 14-19 may be combined with thefeatures and/or functions of other aspects of a memory device asdescribed with reference to FIGS. 1-13 and FIGS. 20-22.

Although described with reference to a memory device, the techniquesdescribed herein can be implemented by any type of device (e.g., thetechniques described herein can be implemented by a CPU or GPU that iscommunicating with a modem or other peripheral device). The techniquesdescribed herein can be used in wireless communications (e.g.,communications involving signals sent over the air), wiredcommunications (e.g., communications involving signals sent over a solidmedium), or both. In some cases, the techniques described herein can beused in a wireline system over a substrate.

FIG. 14 illustrates an example of a circuit 1400 in accordance withvarious examples of the present disclosure. In some cases, the circuit1400 may be an example of the circuit 300 described with reference toFIG. 3. As such, many features of the circuit 1400 are similar to thefeatures of the circuit 300 and some descriptions of some features arenot repeated in both figures.

The circuit 1400 may include one or more internal signal paths 1415-athrough 1415-N that couple at least one memory die 1403 with a memorycontroller 1401. The internal signal paths 1415 may be configured tocommunicate multi-symbol signals 1420, or binary-symbol signals 1425, orboth. The memory die 1403 may be an example of the memory dies 105, 305described with reference to FIGS. 1 and 3. The memory controller 1401may be an example of the memory controller 110, 310 described withreference to FIGS. 1 and 3. The signal paths 1415 may be examples of thesignals paths 115, 315 described with reference to FIGS. 1 and 3. Insome cases, the internal signal paths 1415 may be examples of data busesor channels.

The memory controller 1401 may be coupled to (e.g., in electroniccommunication with) a host 1430, which may or may not be part of thecircuit 1400. The host 1430 may be a system on a chip (SoC) or aprocessor (e.g., a central processing unit (CPU), a graphics processingunit (GPU). Although shown as separate components, in some cases thehost 1430 and the memory controller 1401 may be the same component ormay be part of a common SoC. Although described with reference to amemory interface, the techniques described herein can be implemented fornon-memory interfaces (e.g., between non-memory components within adevice, or between two devices).

Memory controller 1401 may include one or more driver circuits(“drivers”) 1405. The driver(s) 1405 may be in electronic communicationwith the signal paths 1415 (e.g. data buses) and may be configured tocommunicate (e.g., send or transmit) multi-level signals and/or binarylevel signals over the one or more signal paths 1415 (e.g. data buses).For example, the driver(s) 1405 may include circuitry that converts oneor more bit streams into multi-level and/or binary-level signals. A bitstream may be a number of consecutive (e.g., serialized) bits that arerepresentative of a set of data. In some cases, the driver(s) 1405 mayinclude one or more drivers 1405 that have been segmented (e.g.,assigned a respective different number of legs of the driver 1405 toeach signal to be driven) to drive multiple (e.g., more than one)voltage levels on an internal signal path 1415.

A driver 1405 may include an encoder 1440 coupled to (e.g., inelectronic communication with) a driving circuit 1435. The encoder 1440may be configured to receive one or more bit streams 1445 and convert(e.g., encode) the bit streams 1445 into one or more control signals1450. The driving circuit 1435 may be configured to receive the controlsignal(s) 1425 and drive a voltage over an internal signal path 1415based on the control signal(s) 1425. The amplitude of the voltage may berepresentative of one or more bits. So a binary-level signal ormulti-level signal may be output by the driving circuit 1435 by varyingthe amplitude of the voltage driven over an internal signal path 1415.Whether a signal is communicated as a binary level signal or amulti-level signal may be determined by the type of modulation schemeused to modulate the signal.

The type of modulation scheme used to communicate (e.g., the type ofsignal output by driver(s) 1405) may be controlled by the memorycontroller 1401 and may be based on an operating parameter associatedwith the memory controller 1401, the host 1430, the device of whichcircuit 1400 is a part, or an application on the device. Since differentmodulation schemes consume different amounts of power, and providedifferent bandwidths, the memory controller 1401 may dynamically switchbetween modulation schemes to tailor the consumed power and providedbandwidth to changing power constraints and bandwidth requirements(e.g., demands).

In addition to driver(s) 1405, memory controller 1401 may be inelectronic communication with one or more clock circuit(s) 1410. A clockcircuit 1410 may be configured to generate clock pulses that can be usedas a reference for the timing of other components. For example, a clockcircuit 1410 may be configured to generate a first clock signal at afirst frequency and a second clock signal at a second frequency. Theterm frequency may refer to the inverse of the pulse duration used torepresent a symbol in binary-level signaling or multi-level signaling.The first clock signal may represent a first clock rate and the secondclock signal may represent a second clock rate. In some cases, thememory controller 1401 may control the output of the clock circuit(s)1410 (e.g., the memory controller 1401 may control the frequency of theclock signals or the clock rate generated by the clock circuit(s).

The clock circuit(s) 1410 may be in electronic communication with thedriver(s) 1405. For example, the driver(s) 1405, or some samplingcomponent in electronic communication with the driver(s) 1405, maysample the clock pulses generated by the clock circuits(s) 1410. Thesampled clock pulses may be used as a reference for sending multi-leveland binary-level signals at frequencies determined by the memorycontroller 1401. For example, a driver 1405, or associated component,may reference the clock pulses output by a clock circuit 1410 todetermine the frequency at which to send a binary-level or multi-levelsignal. Because communicating at different frequencies may consumedifferent amounts of power and provide different bandwidths, a memorycontroller 1401 may dynamically select frequencies for communication toaccommodate changing power constraints and bandwidth requirements. Insome cases, a memory controller 1401 may dynamically select acombination of modulation scheme and frequency to accommodate changingpower constraints and bandwidths requirements, or to accommodate someother operating parameter.

In one example, the memory controller 1401 may receive a first set ofdata in a first number of bit streams. For instance, the memorycontroller 1401 may receive (e.g., at encoder 1440) the first number ofbit streams from a data array or user input interface in electroniccommunication with the memory controller 1401. According to thetechniques described herein, the memory controller 1401 may generate afirst signal having a first number of levels. The first signal may be abinary-level signal (e.g., a NRZ signal, such as signal 1425) or amulti-level signal (e.g., a PAM4 signal, such as signal 1420). In somecases, the first signal may be based on the first number of bit streams.For example, the first signal may represent the first set of dataconveyed by the first number of bit streams. In some cases, the numberof levels may be based on the first number of bit streams. For example,the first number of levels may be twice the number of bit streams. Insome cases, the first number of bit streams may be different from thefirst number of levels.

After receiving the first set data, the memory controller 1401 mayreceive a second set of data in a second number of bit streams that isdifferent from the first number of bit streams. For instance, the memorycontroller 1401 may receive the first number of bit streams from a dataarray or user input interface in electronic communication with thememory controller 1401. The first number of bit streams may be the sameas, or different from, the second number of bit streams. In some cases,the first set of data is associated with a first application and thesecond set of data may be associated with a second application.

According to the techniques described herein, the memory controller 1401may determine an operating parameter associated with device of which thememory controller 1401 is a part. For example, the memory controller1401 may determine an operating parameter associated with the host 1430.An operating parameter may be a requirement, request, condition, metric,demand, or value. Determination of the operating parameter may be basedon receiving the second set of data, or it may be independent ofreceiving the second set of data (e.g., determination of the operatingparameter may occur prior to receiving the second set of data). Theoperating parameter may be a temperature parameter, a bandwidthparameter, a power parameter, a data rate parameter, or the like, or acombination thereof.

After determining the operating parameter, the memory controller maygenerate a second signal having a second number of levels different fromthe first number of levels. Generating the second signal may be based onthe determined operating parameter and the second number of bit streams.For example, the second signal may be representative of the second setof data conveyed in the second bit stream and/or the second number oflevels may be a function of the second number of bit streams (e.g., maybe twice the number of bit streams). In some cases, the second number ofbit streams is different from the second number of levels.

In some cases, the first signal is communicated over a channel (e.g.,over an internal signal path 1415) at a first frequency (e.g., a firstclock frequency, first pulse frequency, or first data rate frequency)and the second signal is communicated over the channel (or a differentchannel) at a second frequency (e.g., a second clock frequency, secondpulse frequency, or second data rate frequency). So the modulationscheme and the frequency may be different for two separate signals. Thefrequencies may be based on the clock pulses output by clock circuit1410. In other cases, the first signal is communicated over a channel(e.g., over an internal signal path 1415) at a first frequency and thesecond signal is communicated over the channel (or a different channel)at the first frequency (e.g., at the same frequency). So the modulationscheme may be different for two separate signals, but the frequency maybe the same.

According to the techniques described herein, the memory controller 1401may be configured to communicate a first signal to the memory die 1403.The first signal may be modulated using a first modulation scheme thathas a first number of levels. The memory controller 1401 may also beconfigured to determine an operating parameter associated with theapparatus of which the memory controller 1401 and memory die 1403 are apart. Based on the determined operating parameter, the memory controller1401 may select a second modulation scheme different from the firstmodulation scheme. After selecting the second modulation scheme, thememory controller 1401 may communicate a second signal to the memory die1403. The second signal may be modulated using the second modulationscheme, which may have a second number of levels different from thefirst number of levels.

In some cases, the memory controller 1401 may be configured tocommunicate the first signal based on a first frequency of a first clocksignal generated by the clock circuit 1410. In such cases, the memorycontroller 1401 may also be configured to communicate the second signalbased on a second frequency of a second clock signal and based on thedetermined operating parameter. The second frequency is higher or lowerthan the first frequency.

In some cases, the operating parameter is a bandwidth parameter (e.g., acurrent bandwidth requirement) or a power parameter (e.g., a parameterindicative of the current power consumption or conservationrequirement). When the operating parameter is a power parameter, thememory controller 1401 may determine the power parameter by detectingwhether an external power source is connected to the device of which thememory controller 1401 is a part. If the first modulation scheme is NRZand the second modulation scheme is PAM4, the second modulation schememay be selected when an external power source connection is detected.Using PAM4 rather than NRZ may provide more bandwidth for communication.If the first modulation scheme is PAM4 and the second modulation schemeis NRZ, the second modulation scheme may be selected when no externalpower source connection is detected. Using NRZ rather than PAM4 maydecrease power consumption (e.g., increase power conservation).

In some cases, determining the power parameter includes estimating aduration of time until an internal power source reaches a thresholdvalue. Selection of the second modulation scheme may be based on theestimation. For instance, if the estimation indicates that the internalpower supply will be exhausted within a threshold (e.g., short) periodof time, the memory controller 1401 may switch from PAM4 to NRZ toconserve power. If the estimation indicates that the internal powersupply will not be exhausted within a threshold period of time, thememory controller 1401 may switch from NRZ to PAM4 to provide morebandwidth for data communication.

In some examples, the operating parameter is the launch of anapplication on the device that includes the memory controller 1401. Someapplications may define relatively low data rates for the transfer ofits application data with a memory array, while other applications maydefine relatively high data rates. For example, a camera application mayrequire high data rates, especially when it is in burst mode (e.g., amode that captures multiple photos within a short period of time). Acamera application may also require a relatively high data rate when,for example, it is in video mode, playback mode, 4 k multi-shot mode,etc. Other applications with high data rates may include media consumingapplications, virtual reality applications, augmented realityapplications, artificial intelligence applications, machine learningapplications, and the like.

The operating parameter may be associated with the launch of anapplication. For example, the newly launched application may require adata rate greater than a threshold data rate. In such an example, theoperating parameter may indicate the entry of an application into acertain mode that requires a data rate higher than a threshold datarate. When the data rate requested or required by an application isgreater than the threshold rate, the memory controller 1401 may select amulti-symbol modulation scheme (e.g., PAM4, PAM8, PAM16, etc.) as thesecond modulation scheme. When the data rate requested or required by anapplication is less than the threshold rate, the memory controller 1401may select a two-level modulation scheme (e.g., NRZ) as the secondmodulation scheme.

In some cases, the memory controller 1401 may be configured to select afirst number of memory cells in the memory die 1403 to receive a firstsignal modulated using a first modulation scheme to represent a firstset of data. Said another way, the memory controller may be configuredto modify the size of a page in the memory die 1403 based on modulationscheme being used to encode data.

In such cases, the memory controller 1401 may also be configured toselect a second number of memory cells in the memory die 1403 forreceiving a second signal modulated using a second modulation scheme torepresent a second set of data. The second number of memory cellsaccessed using the second signal may be different from the first numberof memory cells access using the first signal. For example, if the firstsignal is modulated using NRZ (e.g., the first signal is a binary-levelsignal) and the second signal is modulated using PAM4 (e.g., the secondsignal is a multi-level signal), then the memory controller 1401 mayselect a small number of cells (e.g., a small page size) for receivingthe first signal and may select a larger number of cells (e.g., a largerpage size) for receiving the second signal. In some cases, the first setof memory cells may be selected to be over-written with new data (e.g.,a third set of data) modulated using the second modulation scheme. Insuch cases, the new data may be modulated at a different data rate thanthe first data rate (e.g., the second data rate and/or a third data ratemay be different from the first data rate and/or the second data rate).

In some examples, the operating parameter is a temperature parameter(e.g., a temperature value of a component part of the same device asmemory controller 1401). Because high temperatures can damage componentsor cause impair performance, the memory controller 1401 may selectmodulation schemes for communication that prevent or mitigate suchtemperatures.

For instance, the memory controller 1401 may determine the temperatureparameter by detecting a temperature associated with the memorycontroller 1401, or a component of the same device that includes thememory controller 1401). If the memory controller 1401 detects that thetemperature associated with the component (e.g., the memory controller1401) satisfies a temperature threshold (e.g., a high temperaturethreshold), the memory controller 1401 may select NRZ as the secondmodulation scheme to reduce the temperature. If the memory controller1401 detects that the temperature associated with the component (e.g.,the memory controller 1401) does not satisfy a temperature threshold(e.g., the temperature is below the high temperature threshold), thememory controller 1401 may select PAM4 as the second modulation schemeto provide more bandwidth without the risking negative effects caused byhigh heat.

In some cases, the operating parameter is a measure or a value thatrepresents the ability or capability of an external device to receivedata. For example, the operating parameter may indicate that theperipheral device is limited to certain bandwidth, data rate, modulationscheme, or frequency. In such cases, the memory controller 1401 mayselect the second modulation scheme based on the limitations of theperipheral device. In some examples, the operating parameter is acommunication metric or requirement requested by the external device.For example, the operating parameter may be a requested data rate,bandwidth, frequency, modulation scheme, voltage level, etc.

Thus, the device (e.g., a memory controller associated with a memorydevice) may select the second modulation scheme and/or frequency basedon the external device's request for one or more communication metricsor requirements (e.g., the second modulation scheme and/or frequency maybe selected to comply with or satisfy the requested communication metricor requirement). Additionally or alternatively, the operating parametermay be based on a characteristic of the data represented by the secondsignal. Although described with reference to a single operatingparameter, a memory controller 1401 may select a combination ofmodulation scheme and frequency based on multiple operating factors. Theoperating parameter(s) used as the basis for the selection may beselected based on detection of a change in operation or condition of thedevice, or based on a request from another device.

According to the techniques described herein, the memory controller 1401may be configured to communicate a first signal over the signal paths1415 (e.g., a data bus) using a first driver 1405. The first signal mayhave a signal strength that corresponds to one level of a first numberof levels representing a first set of data. After determining anoperating parameter as described herein, the memory controller 1401 maycommunicate a second signal over the signal path 1415-a based on thedetermined operating parameter. The second signal may a signal strengththat corresponds to one level of a second number of levels representinga second set of data, and the second number of levels may be differentfrom the first number of levels. In some cases, the second signal iscommunicated over the signal path 1415-a using a second driver 1405 thatis in electronic communication with the memory controller 1401.

In some cases, the first signal is sent over a first data bus and thesecond signal is sent over a second data bus. The first signal may becommunicated at a first clock rate generated by the clock circuit 1410and the second signal may be communicated at a second clock rategenerated by the clock circuit 1410. Or the signals may be sent adifferent clock rates that are derived from the clock rates generated bythe clock circuit 1410.

FIG. 15 illustrates an exemplary diagram of a waveform 1500 employed inaccordance with various examples of the present disclosure. Theamplitude of the waveform 1500, depicted as voltage, is shown varying intime. Waveform 1500 may be communicated between two different devices orbetween two components internal to a device. In an example ofintra-device communication (e.g., communication within a single device),waveform 1500 may be generated and communicated (e.g., transmitted orsent) by a memory controller 1401 as described with reference to FIG.14. For instance, waveform 1500 may be sent from the memory controller1401 to a memory die 1403 within the device.

According to the techniques described herein, waveform 1500 may includea first signal 1505 and a second signal 1510. Although shown as acontinuous waveform, waveform 1500 may be a discontinuous waveform(e.g., there may be a break between the first signal 1505 and the secondsignal 1510 during which no data is communicated). The first signal 1505may be modulated using a first modulation scheme having a first numberof levels and the second signal 1510 may be modulated using a firstmodulation scheme having a second number of signals. For example, thefirst signal 1505 may be modulated using NRZ and the second signal maybe modulated using PAM4. Thus, a device may switch from communicatingusing a NRZ modulation scheme to communicating using a PAM4 modulationscheme (e.g., the device may switch modulation schemes). The switch maybe based on an operating parameter determined for the device, or for acomponent of the device (e.g., a host, a memory controller, an SoC, aprocessor, etc.).

The first signal 1505 may be communicated at a first frequency, whichmay be based on a clock frequency generated and sampled by the device.The first frequency may be related to the pulse duration 1515 (sometimesreferred to as a symbol duration) of a pulse of the first signal 1505. Asingle symbol may be communicated during a single pulse duration 1515.One or more bits of data may be represented in each pulse duration 1515.For example, when NRZ is used to modulate the first signal 1505, theamplitude of the signal 1505 during a pulse duration 1515 may representless than two bits of data (e.g., a logic ‘0’ or a logic ‘1’). So,starting with the trailing pulse (i.e., reading left to right), thefirst signal 1505 may represent the data sequence: 1010010.

The second signal 1510 may also be communicated at the first frequency.Thus, modulation schemes may be switched without switching frequencies.However, the second signal 1510 may represent a different number of bitsper pulse duration 1515 than the first signal 1505. For example, whenPAM4 is used to modulate the second signal 1510, the amplitude of thesignal 1510 during a pulse duration 1515 may represent a two bits ofdata. So, starting with the trailing pulse (i.e., reading left toright), the second signal 1510 may represent the data sequence:00101101000110110101.

In some cases, a change in the operating parameter may be detected.Based on the change, the device may select the first modulation schemefor communicating a third signal (e.g., a signal that follows the secondsignal 1510). So the device may communicate the third signal modulatedusing the first modulation scheme (e.g., NRZ) based on selecting thefirst modulation scheme. In some cases, prior to sending the secondsignal 1510, the first signal 1505 may be sent at different frequencythan the first frequency (e.g., the first signal 1505 may be sent at thefirst frequency for a period of time, then sent at another frequency fora subsequent period of time).

Because different modulations schemes provide varying bandwidths andconsume different amounts of power, a device may switch modulationschemes to optimize performance, efficiency, and power conservation. Forexample, if using NRZ at first frequency consumes less power than usingPAM4 at the same frequency, then the device may generally use NRZ toconserve power, and may switch to PAM4 to accommodate bandwidth demandshigher than a certain threshold. The device may switch back to NRZ oncethe bandwidth demands fall below the threshold level. Although describedwith reference to NRZ and PAM4 the techniques described herein areapplicable to any combination of pulse-amplitude-modulation, includingPAM2 (e.g., NRZ), PAM4, PAM8, PAM16, etc. The techniques describedherein are also applicable to switching from PAM4 to NRZ. Additionally,although described with reference to two modulation schemes, any numberof modulation schemes may be switched between.

In some cases, a device may switch frequency based on an operatingparameter. In other cases, the device may select a modulation and afrequency based on the operating parameter. In such cases, two variablesabout an encoded signal (modulation scheme and clock frequency) may bevaried based on the operating parameter. For example, the device maydetermine that switching from NRZ to PAM4, but using the same frequency,provides excess bandwidth and/or consumes more power than the device canafford. In such cases, the device m switch clock frequencies of theencoded signal.

In some cases, the device may switch both the modulation and scheme andthe clock frequency of the encoded signal. For example, the device mayswitch from using NRZ at a first frequency to using PAM4 at a secondfrequency lower than the first frequency. In another example, the devicemay determine that switching from NRZ to PAM4, but using the samefrequency, does not provide enough bandwidth to support the bandwidthrequirement. In such a scenario, the device may switch from using NRZ ata first frequency to using PAM4 at a second frequency higher than thefirst frequency. Thus, a device may accommodate varying operatingconstraints by customizing the modulation scheme and frequency used bythe device to communicate.

FIG. 16 illustrates an exemplary diagram of a waveform 1600 employed inaccordance with various examples of the present disclosure. Waveform1600 may be communicated between two different devices or between theinternal components of a device. In an example of intra-devicecommunication (e.g., communication within a single device), waveform1600 may be generated and communicated (e.g., transmitted or sent) by amemory controller 1401 as described with reference to FIG. 14. Forinstance, waveform 1600 may be sent from the memory controller 1401 to amemory die 1403 within the device.

Waveform 1600 may include a first signal 1605 and a second signal 1610.The first signal 1605 may be modulated using PAM4 (e.g., using a firstmodulation scheme having a first number of levels) and the second signal1610 may be modulated using NRZ (e.g., a second modulation scheme havinga second number of levels). Thus, the data represented by the firstsignal 1605 may be communicated using a first number of signal levels(e.g., four) and the data represented by the second signal 1610 may becommunicated using a second number of signal levels (e.g., two). Adevice may switch between the two modulation schemes based ondetermining, detecting, or identifying an operating parameter associatedwith the device (e.g., the launch of an application that requires ordemands data rates greater than a threshold data rate, or the launch ofan application that consumes data or provides data at a rate greaterthan a threshold rate). The first signal 1605 may follow a previoussignal that was modulated using a different modulation scheme than thefirst signal 1605 (e.g., NRZ).

The first signal 1605 may be communicated at a first frequency thatserves as a basis for the pulse duration 1615 (e.g., the pulse duration1615 may be inversely proportional to the first frequency) and thesecond signal 1610 may be communicated at a second frequency that servesas a basis for the pulse duration 1620 (e.g., the pulse duration 1620may be inversely proportional to the second frequency). Thus, a devicemay switch between modulation schemes and frequencies at the same time.Although the first frequency is shown as greater than the secondfrequency, the converse is also permitted (e.g., the second frequencymay be greater than the first frequency). The device may determine orselect the second frequency based on an operating parameter associatedwith the device (e.g., based on the detection that the device's batterypower or charge is below or above a pre-determined threshold), or acomponent of the device (e.g., based on a temperature of the component),or an application of the device (e.g., based on the data raterequirement of the application).

FIG. 17 illustrates an exemplary diagram of a waveform 1700 employed inaccordance with various examples of the present disclosure. Waveform1700 may be communicated between two different devices or between theinternal components of a device. In an example of intra-devicecommunication (e.g., communication within a single device), waveform1700 may be generated and communicated (e.g., transmitted or sent) by amemory controller 1401 as described with reference to FIG. 14. Forinstance, waveform 1700 may be sent from the memory controller 1401 to amemory die 1403 within the device. Waveform 1700 may be an example of awaveform that is communicated when a device switches between multiple(e.g., different) modulation schemes and multiple frequencies (e.g., inresponse to changes in one or more operating parameters).

Waveform 1700 may include a number of signals modulated according todifferent modulation schemes at different frequencies. For example,waveform 1700 may include signal 1710, which is modulated according to atwo-level modulation scheme (e.g., NRZ), and signals 1705, 1715, and1720, which are modulated according to a multi-level modulation scheme(e.g., PAM4). Signal 1705 may be transmitted at a first frequency f1that is a based on the pulse duration 1720. At time t1, the modulationscheme and frequency of the waveform 1700 may be modified. For example,the modulation scheme may be changed from PAM4 to NRZ and the frequencymay be changed from f1 to f2. The modification may be based on one ormore operating parameters associated with the device or a component ofthe device. Thus, after t1 signal 1710 may be communicated using an NRZmodulation scheme at frequency f2. The frequency f2 may be based on thepulse duration 1725 (e.g., the frequency f2 may be inverselyproportional to the pulse duration 1725). Although shown with f2>f1, thesecond frequency f2 may be less than f1.

At time t2 the modulation scheme and frequency of waveform 1700 may bemodified again. For example, the modulation scheme may be switched fromNRZ to PAM4, and the frequency may be switched from f2 to f3. Themodification may be based on one or more operating parameters associatedwith the device or a component of the device. So signal 1715 may becommunicated using a PAM4 modulation scheme at frequency f3. Thefrequency f3 may be based on the pulse duration 1730, which may belonger than the pulse duration 1725.

At time t3, the frequency at which waveform 1700 is communicated may bemodified while the modulation scheme is maintained. For example, themodulation scheme may remain PAM4 and the frequency may be changed fromf3 to f4. Prior to time t3, the device may determine that there has beena change in the operating parameter. The device may select frequency f4based on the change in the operating parameter. Thus, signal 1740 may becommunicated using PAM4 at frequency f4. The frequency f4 may be basedon the pulse duration 1735. At time t4, the frequency may be changedagain, from f4 to fn. In some cases, the modulation scheme is alsochanged. Frequency fn may be the same as, or different than, frequenciesf1, f2, f3, f4.

Thus, different modulations schemes and frequencies may be used togenerate and communicate different signals. The number of frequenciesavailable for use, or used, may be a discrete number of frequencies(e.g., n frequencies) and may be pre-determined or dynamicallydetermined. The frequencies may be based on a clock rate or clockfrequency generated by a clock circuit 1410 such as described withrespect to FIG. 14. For example, the pulse durations may be determinedby sampling the clock pulses generated by the clock circuit 1410.

Selecting particular combinations of modulation scheme and frequency mayallow a device to achieve a desired bandwidth (e.g., data rate) and/orpower consumption level. For example, the device may determine thebandwidth provided and power consumed by a particular combination ofmodulation scheme and frequency and compare those values to desiredbandwidth and power consumption values (e.g., bandwidth threshold andpower consumption threshold). The desired bandwidth may be based on anapplication that has data to communicate and the power consumption maybe based on a power status of the device (e.g., the remaining batterylevel of the device or whether the device is connected to an externalpower course). If the comparisons result in differences that are withina threshold, the device may select that modulation scheme and frequencyfor communication. If the comparisons result in differences that areoutside a threshold, the device may select a different combination ofmodulation scheme and frequency for comparison.

In some cases, the process by which the device selects a modulationscheme and frequency for communication may involve the use of a look-upstructure. For instance, the look-up structure may include a number ofentries (e.g., pre-configured modulation data) that indicate theprovided bandwidth and consumed power associated with differentcombinations of modulation scheme and frequency. Thus, the device maycompare the desired bandwidth and/or power with the pre-configuredmodulation data to determine which combination of modulation scheme andfrequency to use for communication. Although described with reference tobandwidth and power, the techniques described herein for selectingmodulation scheme and frequency may be based on bandwidth or power, oron one or more other parameters.

FIG. 18 illustrates an exemplary diagram of a process flow 1800 thatsupports a variable modulation scheme in accordance with variousexamples of the present disclosure. The features of process flow 1800may be implemented or performed by a device (e.g., a memory controllerassociated with a memory device) or a component of a device such as amemory controller 110, SoC, processor, GPU, etc. Although described withreference to NRZ and PAM4, the aspects and features of process flow 1800can be implemented using other combinations of modulation schemesincluding binary-level modulation schemes and multi-level modulationschemes (e.g., QAM, PSK, etc.).

At 1805, the device may communicate a first signal modulated using afirst modulation scheme (e.g., NRZ) at a first frequency. The firstsignal may represent a first set of data and the first modulation schememay have a first number of levels (e.g., the first modulation scheme mayconsist of two levels when the first modulation scheme is NRZ). Thefirst signal may be communicated between components of the device (e.g.,between a memory controller and a memory array) or between the deviceand another device. In some examples, the first and second signals maybe communicated over a same channel at different times (e.g., viatime-multiplexing), or over the same channel at overlapping times, orover different channels at the same time (e.g., concurrently,simultaneously), or over different channels at different times (e.g.,non-concurrently) or over-lapping times. At 1810, the device maydetermine an operating parameter associated with the device or acomponent of the device (e.g., a host, SoC, processor, memory die,memory controller, etc.).

For example, the device may determine a power parameter associated withthe device. The device may determine the power parameter by determiningwhether the device is connected to an external power supply (e.g., bydetermining whether the device is able to draw power from an externalpower source, such as an outlet, battery, battery charger, and thelike). If the device is detected to be connected to an external powersource, the device may, at 1815, select a second modulation scheme(e.g., PAM4) different from the first modulation scheme based at leastin part on the detection. The second modulation scheme may be used tomodulate a second signal (which is representative of a second set ofdata) and may have a second number of levels (e.g., four levels)different from the first number of levels.

If the device is not connected to an external power source, the devicemay, at 1820, determine whether the battery life of the device (e.g.,the charge of the battery) is greater than a threshold battery life(e.g., a threshold charge). For example, the device may estimate aduration of time until an internal power source (e.g., the battery)reaches a threshold value. If the device determines that the estimatedduration of time is less than the threshold duration of time, the devicemay, at 1825, maintain communicating using NRZ at the first frequency.If the device determines that the estimated duration of time is greaterthan a threshold duration of time (e.g., the device has more than xhours until the internal power source has y % remaining battery), thedevice may, at 1815, select PAM4 for communication of a second signal.Thus, the device may select the second modulation scheme based on theestimation of the duration of time until the internal power sourcereaches the threshold value.

In some cases, the device may, at 1830, select a second frequency forcommunicating the second signal that is modulate using PAM4. The secondfrequency may be based on the determination(s) made at 1810 and/or 1815.At 1835, the device may communicate the second signal modulated usingPAM4 at the selected second frequency. Alternatively, the device maycommunicate the second signal modulated using PAM4 at the firstfrequency. The second signal may be communicated between components ofthe device or between the device and another device. In some cases, thefirst signal and the second signal are communicated by a memorycontroller. In other cases, the first signal and second signal may becommunicated with a memory controller (e.g., sent or passed to thememory controller from a another component).

FIG. 19 illustrates an exemplary diagram of a process flow 1900 thatsupports a variable modulation scheme in accordance with variousexamples of the present disclosure. The features of process flow 1900may be implemented or performed by a device (e.g., a memory controllerassociated with a memory device) or a component of a device such as amemory controller 110, SoC, processor, GPU, etc. The communications inprocess flow 1900 may occur between components of a device or betweentwo different devices. Although described with reference to NRZ andPAM4, the aspects and features of process flow 1900 can be implementedusing any combination of modulation schemes (e.g., QAM, PSK, etc.).

At 1905, the device may communicate a first signal that is modulatedaccording to a first modulation scheme (e.g., NRZ) at a first frequency.At 1910, the device may determine an operating parameter associated withthe device or a component of the device. For example, the device maydetermine a bandwidth parameter. The bandwidth parameter may beassociated with a particular application (e.g., an applicationassociated with a second signal, such as an application sending orreceiving the second signal) and may be indicative of the bandwidthdemanded, requested, or required by that application. So at 1910, thedevice may determine whether the bandwidth of the application is greaterthan a threshold bandwidth.

In some cases, the device may additionally or alternatively determinewhether the bandwidth parameter associated with the first application isgreater than a bandwidth parameter associated with a second application(e.g., a different application). The first application may be anapplication that has launched, or is ready to send data, and the secondapplication may be an application that has closed, or is not ready tosend data. In some cases, the second application is associated with thefirst set of data represented by the first signal and the firstapplication is associated with a second set of data represented by asecond signal.

If the bandwidth parameter associated with the application is greaterthan the threshold bandwidth, or greater than the bandwidth parameterassociated with a second application, the device may, at 1915, select asecond modulation scheme (e.g., PAM4) different from the firstmodulation scheme. Thus, the selection based at least in part on thedetermined bandwidth parameter. The second modulation scheme may have asecond number of levels (e.g., four) different from the first number oflevels. If the bandwidth parameter associated with a first applicationis less than a bandwidth parameter associated with a second application,or less than the bandwidth parameter associated with a secondapplication, the device may, at 1920, determine whether a launchedapplication has a data rate (e.g., a target data rate or a required datarate) greater than a threshold data rate. The term bandwidth may referto the overall amount of data that can be communicated by a device orcomponent while the term data rate may refer to the speed at which datais transferred between two device or components.

If the data rate is not greater than the threshold rate, the device may,at 1925, determine to continue to use first modulation scheme (e.g.,NRZ) at the first frequency. If the data rate is greater than thethreshold rate, the device may, at 1915, select PAM4 for the modulatingthe second signal. Optionally, the device may, at 1930, select a secondfrequency for communicating the second signal. The second frequency maybe different from the first frequency and may be selected based on thedetermined operating parameter (e.g., the bandwidth parameter or thedata rate parameter). At 1935, the device may communicate the secondsignal that is modulated using the second modulation scheme (e.g., PAM4)at the second frequency. In some cases, the second signal may becommunicated at the first frequency (e.g., if 1930 is not performed).

It should be noted that the methods described above describe possibleimplementations, and that the operations and the steps may be rearrangedor otherwise modified and that other implementations are possible.Furthermore, examples from two or more of the methods may be combined.

FIGS. 20-22 illustrate a memory device configured to multiplex data. Insome multi-level modulation schemes, a symbol may represent data fromdifferent sources or different types of data. For example, control data,storage data, metadata, or a combination thereof may be transmitted in asingle symbol containing multiple symbols. To multiplex the signal,first data and second data may be multiplexed together into a datastructure. A multi-symbol signal may be encoded with a particular symbolbased on the multiplexed data structure, the modulation scheme having atleast three levels. In some cases, multiple memory dies may receive themulti-symbol signal and may use only a portion of one or more of thesymbols. For example, a first memory die may use the most-significantbit a symbol of the multi-symbol signal and a second memory die may usethe least-significant bit of the same symbol of the multi-symbol signal.The features and/or functions described with reference to FIGS. 20-22may be combined with the features and/or functions of other aspects of amemory device as described with reference to FIGS. 1-19.

FIG. 20 illustrates an example memory device 2000 in accordance withvarious examples of the present disclosure. Memory device 2000 may be anexample of system 100 as described with reference to FIG. 1. Memorydevice 2000 may include memory controller 2005, memory die 2010, memorydie 2015, a multiplexer 2020, a bus 2025, and a host 2030. In someexamples, memory die 2010 may be referred to as a first memory die 2010and memory die 2015 may be referred to as a second memory die 2015. Insome examples, the first memory die 2010 and the second memory die 2015may be coupled with the bus 2025.

In some examples, the multiplexer 2020 may be coupled with the bus 2025and may be configured to multiplex first data and second data. Themultiplexer 2020 may be configured to multiplex the first data and thesecond data into a signal that is modulated using a binary-symbolmodulation scheme or multi-symbol modulation scheme. In some examples,the memory controller 2005 may multiplex the first data and the seconddata. In other examples, the modulation scheme of the signal may includeat least one of three levels. Each of the first memory die 2010 and thesecond memory die 2015 may be configured to use at least a portion ofthe signal.

For example, the first memory die 2010 may be configured to use at leastthe first data of the signal and the second memory die 2015 may beconfigured to use at least the second data of the signal. Each of thefirst or the second data may include, for example, metadata, controldata, or storage data. In some examples, metadata may includeinformation regarding various aspects of memory device 2000—for example,information regarding power usage of memory device 2000. Additionally oralternatively, for example, the metadata may include information aboutstorage data, control data, or both. In other examples, control data mayinclude information regarding one or more operations of memory device2000—for example, information regarding a read operation to or a writeoperation from one of first memory die 2010 or second memory die 2015.In further examples, storage data may include information regarding alogic state of one or more memory cells of either first memory die 2010or second memory die 2015—for example, a logic “0” or a logic “1.”

In some examples, the memory controller 2005 may receive a signalassociated with each of the first memory die 2010 and the second memorydie 2015. In some examples, the signal may be received from a host 2030.The host 2030 may be in communication with the memory controller 2005through communication channel 2035. In response to receiving the signal,for example, the memory controller 2005 may determine whether the signalis associated with the first memory die 2010 or the second memory die2015.

This determination, in some examples, may be based at least in part on arespective signal level of the received signal. In some cases, thisdetermination may be based on a type of the modulation scheme (e.g.,binary-level or multi-level) used to encode the data in the signal. Inother examples, the memory controller 2005 may be operable to receive afirst request associated with an operation to be performed on the firstmemory die 2010. This request may be, for example, a request to readdata from or write data to the first memory die 2010. In eitherinstance, the memory controller 2005 may be configured to transmit thesignal to the first memory die 2010 and the second memory die 2015 basedat least in part on the first request.

In other examples, the memory controller 2005 may transmit the firstdata and the second data, for example, to the first memory die 2010 andthe second memory die 2015 based on a respective data request. Forexample, the first memory die 2010 and the second memory die 2015 maytransmit a first data request and a second data request, respectively,to the memory controller 2005. In some examples, the first data requestand the second data request may be transmitted by a host 2030. The firstdata request may indicate, to the memory controller 2005, to transmitdata to the first memory die 2010—for example, to transmit the firstdata of the signal.

Additionally or alternatively, the second data request may indicate, tothe memory controller 2005, to transmit data to the second memory die2015—for example, to transmit the second data of the signal. In someexamples, the first data request and the second data request may beassociated with a read operation or a write operation. For example, thefirst data request may be associated with a read command for the firstmemory die 2010. Thus, a read operation of one or more memory cells infirst memory die 2010 may occur in response to the first data request.In other examples, the second data request may be associated with awrite command for the second memory die 2015. For example, a writeoperation to one or more memory cells in second memory die 2015 mayoccur in response to the second data request. In either example, thememory controller 2005 may transmit each of the first data of thesignal, the second data of the signal, or both, in response to the firstand second data requests.

In some examples, the multiplexer 2020 may be configured to multiplexthe first data and the second data into a symbol of a multi-levelsignal. Stated alternatively, the multiplexer 2020 may be configured togenerate a single modulation symbol that includes data from twodifferent sources. For example, a PAM4 modulation symbol may representtwo bits of data. A most-significant bit of the modulation symbol may bebased on the first data and a least-significant bit of the modulationsymbol may be based on the second data.

Additionally or alternatively, for example, the most-significant bit ofthe modulation symbol may be based on the second data and aleast-significant bit of the modulation symbol may be based on the firstdata. The number of data sources that may be multiplexed into a singlesymbol may be based on the number of bits represented by that symbol.For example, a multi-level modulation scheme that includes eight levelsmay be configured to multiplex data from three sources because thesymbol may represent three bits of data.

Additionally or alternatively, for example, each of first memory die2010 and second memory die 2015 may include a variety of packagingand/or cell configurations. For example, each of the first memory die2010 and the second memory die 2015 may be different memory dies in asingle package (e.g., different stacked memory dies, apackage-on-package stack). In some examples, the second memory die 2015may comprise a different type of memory or storage device than the firstmemory die 2010. In other examples, the first memory die 2010 mayinclude at least one of FeRAM, a DRAM, a NAND device, a NOR device, or aphase-change memory device. In other examples, the second memory die2015 may include at least one of FeRAM, a DRAM, a NAND device, a NORdevice, or a phase-change memory device. Thus, in some examples, each ofthe first memory die 2010 and the second memory die 2015 may contain asame cell or device type, and in other examples each of the first memorydie 2010 and the second memory die 2015 may contain a different cell ordevice type. In other words, although depicted as stacked dice, memorydie 2010 and memory die 2015 may be physically distinct memory devices.For example, memory die 2010 may be an internal memory array (e.g.,storage) for a device and memory die 2015 may be removable (e.g., aremovable storage card). In such cases, either or both memory die 2010and 2015 may be Flash storage devices.

In further examples, the memory device 2000 may include a third memorydie (not illustrated). The third memory die may be coupled with the bus2025 and may be configured to receive multiplexed data. In someexamples, the third memory die may be configured to decode the signaland discard the first data or the second data. In other examples, thethird memory die may be a different memory die than the first memory die2010 and the second memory die 2015. Additionally or alternatively, forexample, the third memory die may be configured to use at least aportion of the signal of the first data and/or the second data of thesignal.

In some examples, the memory controller 2005 may transmit the first dataand the second data, for example, to the first memory die 2010 and thethird memory die based on a respective data request. For example, thefirst memory die 2010 and the third memory die may transmit a first datarequest and a second data request, respectively, to the memorycontroller 2005. In some examples, the first data request and the seconddata request may be transmitted by the host 2030, as described above.The first data request may indicate, to the memory controller 2005, totransmit data to the first memory die 2010—for example, to transmit thefirst data of the signal.

Additionally or alternatively, for example, the second data request mayindicate, to the memory controller 2005, to transmit data to the thirdmemory die—for example, to transmit the second data of the signal. Thusthe memory controller 2005 may transmit each of the first data of thesignal, the second data of the signal, or both, in response to the firstand second data requests.

Additionally or alternatively, for example, the third memory die mayinclude a variety of packaging and/or cell configurations. For example,each of the first memory die 2010, the second memory die 2015, and thethird memory die may be different memory dies in a samepackage-on-package stack. In other examples, the third memory die mayinclude at least one of FeRAM, a DRAM, a NAND device, a NOR device, or aphase-change memory device. The third memory die may include a same cellor device type as or a different cell or device type from the firstmemory die 2010 and the second memory die 2015. Thus, each of the firstmemory die 2010, the second memory die 2015, and the third memory diemay contain a same cell or device type, each may contain a differentcell or device type, or a combination thereof.

In other examples, each of the first memory die 2010, the second memorydie 2015, and the third memory die may be coupled with the bus 2025. Insome examples, the memory controller 2005 may also be coupled with thebus 2025. The memory controller 2005 may be operable to identify firstdata, second data, and third data, which may include metadata, controldata, or storage data.

The memory controller 2005 may operate to multiplex the first data, thesecond data, and the third data in a signal using a first modulationscheme having at least five levels (e.g., PAM8). In other examples, thememory controller 2005 may operate to transmit the signal to the firstmemory die 2010, the second memory die 2015, and the third memory die.In some examples, the first memory die 2010, the second memory die 2015,and the third memory die may each comprise at least one of FeRAM, aDRAM, a NAND device, a NOR device, or a phase-change memory device.

FIG. 21 illustrates an example process flow diagram 2100 in accordancewith various examples of the present disclosure. Process flow diagram2100 may illustrate one or more operations conducted by memory device2000 as described with reference to FIG. 20. Process flow diagram 2100may include operations conducted by a memory controller 2105, amultiplexer 2110, a host 2115, a memory die 2120, and a memory die 2125.In some examples, memory controller 2105, multiplexer 2110, memory die2120, and memory die 2125 may be examples of a memory controller 2005, amultiplexer 2020, a memory die 2010, and a memory die 2015,respectively, as described with reference to FIG. 20.

At block 2130, the memory controller 2105 may identify first data andsecond data. In some examples, the first data or the second data mayinclude metadata, control data, or storage data as described above withreference to FIG. 20. In some examples, each of the first data and thesecond data may be configured to include metadata, control data, orstorage data. This may, in some cases, be to the exclusion of othertypes of data. Upon identifying the first data and the second data,through transmission 2135, the memory controller 2105 may transmit anindication of the first data and the second data to the multiplexer2110. In other examples, the memory controller 2105 may transmit thefirst data and the second data to the multiplexer 2110. In eitherinstance, at block 2140, the multiplexer 2110 may multiplex the firstdata and the second data. For example, the multiplexer 2110 maymultiplex the first data and the second data such that it is representedby a single symbol of a multi-level modulation scheme that includes atleast three unique symbols to represent data. Stated alternatively, themultiplexer 2110 may multiplex the first data and the second data insignal that contains a signal strength corresponding to one of at leastthree levels.

Upon multiplexing the first data and the second data, the multiplexer2110 may transmit an indication of the multiplexed data to the memorycontroller 2105 through transmission 2145. In other examples, themultiplexer 2110 may transmit the multiplexed data to the memorycontroller 2105. In other examples, the multiplexer 2110 may communicatethe data to an encoder that modulates a signal based on multiplexeddata. In an additional example, the memory controller 2105 may transmitan indication to the multiplexer 2110 to transmit the multiplexed datato at least one of the first memory die 2120 or the second memory die2125 (not illustrated).

Additionally or alternatively, for example, the memory controller 2105may receive a signal from the memory die 2120, the memory die 2125, orboth, indicating one or more characteristics of the respective die. Forexample, based one or more characteristics of the signal (e.g., a signalstrength), the memory controller 2105 may first determine that thesignal was communicated by the first memory die 2120 or the secondmemory die 2125. Because the first memory die 2120 may include a FeRAMcell, a DRAM cell, a NAND device, a NOR device, or a phase-change memorydevice—as discussed above with reference to FIG. 1—the memory controller2105 may determine a cell or device type based in part on the signaltransmitted from the first memory die 2120.

Additionally, because the second memory die 2125 may include a differentmemory cell or memory device than the first memory die 2120, the memorycontroller 2105 may determine a cell type or device type based in parton the signal transmitted from the second memory die 2125.

In any of the aforementioned examples, a host may determine a first datarequest corresponding to the first memory die 2120 or a second memorydie 2125 at block 2150. The data request may indicate to the memorycontroller 2105, for example, to transmit the multi-symbol signal thatrepresents the multiplexed data to at least one of the first memory die2120 and/or the second memory die 2125.

After determining a first data request at block 2150, for example, thehost 2115 may transmit the data request—or an indication of the datarequest—to the memory controller 2105. This may occur throughtransmission 2155. Additionally or alternatively, for example, at block2160 the host 2115 may determine a second data request corresponding tothe first memory die 2120 or the second memory die 2125. As stated abovewith respect to the first data request, the second data request mayindicate to the memory controller 2105 to transmit the multiplexed datato at least one of the first memory die 2120 or the second memory die2125. Upon determining a second data request at block 2160, the host2115 may transmit the data request—or an indication of the datarequest—to the memory controller 2105. This may occur throughtransmission 2165.

At transmission 2170, the memory controller 2105 may transmit the firstdata and the second data to the first memory die 2120 and the secondmemory die 2125. In some examples, the memory controller 2105 maytransmit the first data and the second data to the first memory die 2120and the second memory die 2125 through a bus coupled with each of thefirst and second memory die. In some examples, the second memory die2125 may be or may include an external or removable memory device.

For example, when inserted or activated, the memory controller 2105 mayreceive an indication of a presence of the second memory die 2125 thatincludes a removable storage device (not illustrated). In some examples,the removable storage device may be a universal flash storage (UFS)device. In such an example, the transmission of the signal to the firstmemory die 2120 and the second memory die 2125 may be based in part onthe indication transmitted to the memory controller 2105.

In some examples, the memory die 2120 and the memory die 2125 mayreceive the signal modulated using a first modulation scheme and mayidentify one or more bits represented by the symbol (e.g., one of threeunique symbols). For example, one bit may be assigned to memory die 2120and one bit may be assigned to memory die 2125. Thus, memory die 2120may discard the bit assigned to memory die 2125 and memory die 2125 maydiscard the bit assigned to memory die 2120. In other examples, each ofthe memory die 2120 and the memory die 2125 may divide the data based ona type of data (e.g., control data). For example, memory die 2125 maydecode the signal received and, based on the type of data, may discardthe bit. Additionally or alternatively, for example, memory die 2120 maydecode the signal received and may facilitate a transfer of the specificdata to the memory die 2125.

In some examples, a memory die (e.g., memory die 2120 or memory die2125) may decode a symbol modulated using a multi-symbol modulationscheme and may determine a type of each bit represented by the decodedsymbol. The memory die may execute one or more operations based on thetype(s) of data included in the symbol.

In other examples, the first data and the second data may be transmittedas a multiplexed signal having a signal strength corresponding to one ofat least three levels. As discussed above with reference to FIG. 1, thesignal may be modulated using, for example, a pulse amplitude modulation(PAM) scheme. Upon transmitting the signal, at block 2175, the memorycontroller 2105 may be operable to initiate an adjustment a timing ofthe transmission of the signal to the first memory die 2120 and thesecond memory die 2125. In transmitting the signal, the memorycontroller 2105 may communicate the signal based on a timing of a systemclock. In some examples, the system clock may be associated with (e.g.,integrated) memory controller 2105. In other examples, the system clockmay be external to the memory controller 2105. For example, the memorycontroller 2105 may transmit the signal during a rising edge of thesystem clock, a falling edge of the system clock, or both. The memorycontroller 2105 may then, through transmission 2180, transmit theadjusted signal to each of the first memory die 2120 and the secondmemory die 2125.

By way of example, at block 2130, the memory controller 2105 mayidentify first and second data that each include control data.Subsequently, for example, the memory controller 2105 may transmit anindication of the first and second control data to the multiplexer 2110through transmission 2135. At block 2140, the multiplexer 2110 maymultiplex the first data and the second data into a symbol of amulti-level signal that contains at least three levels and subsequentlytransmit an indication of the multiplexed data to the memory controller2105. At block 2150, host 2115 may determine a first data request, whichmay correspond to a data request from the first memory die 2120.

Additionally, at block 2160, the host 2115 may determine a second datarequest, which may correspond to a data request from the second memorydie 2125. Each of the data requests may be transmitted from the host2115 to the memory controller 2105 at transmissions 2155 and 2165,respectively. Upon receiving the data requests, the memory controller2105 may, through transmission 2170, concurrently transmit themultiplexed signal to each of the first memory die 2120 and the secondmemory die 2125. Based on the transmission, at block 2175, the memorycontroller 2105 adjust the communication of the multiplexed signal,based on the clock cycle of the memory controller 2105, and mayconcurrently transmit the adjusted signal, through transmission 2180, toeach of the first memory die 2120 and the second memory die 2125.

FIG. 22 illustrates a process flow diagram 2200 in accordance withvarious examples of the present disclosure. Process flow diagram 2200may illustrate one or more operations conducted by memory device 2000 asdescribed with reference to FIG. 20. Process flow diagram 2200 mayinclude operations conducted by a memory controller 2205, a multiplexer2210, a host 2215, a memory die 2220, and a memory die 2225. In someexamples, memory controller 2205, multiplexer 2210, host 2215, memorydie 2220, and memory die 2225 may be examples of memory controller 2105,multiplexer 2110, host 2115, memory die 2120, and memory die 2125,respectively, as described with reference to FIG. 21.

At block 2230, the host 2215 may determine a first data requestcorresponding to the first memory die 2220 or the second memory die2225. The first data request may indicate to the memory controller 2205,for example, to transfer data to one of the first or second memory die.After determining a first data request at block 2230, for example, thehost 2215 may transmit the data request—or an indication of the datarequest—to the memory controller 2205. This may occur throughtransmission 2235.

Additionally or alternatively, for example, at block 2240 the host 2215may determine a second data request corresponding to the first memorydie 2220 or the second memory die 2225. As stated above with respect tothe determination of the first data request, the determination of thesecond data request may indicate to the memory controller 2205 totransfer data to one of the first or second memory die. In someexamples, the determination of the first data request at block 2230 maycorrespond to the first memory die 2220 and the determination of thesecond data request at block 2240 may correspond to the second memorydie 2225. After determining the second data request at block 2240, forexample, the host 2215 may transmit the second data request—or anindication of the second data request—to the memory controller 2205through transmission 2245.

After transmitting each of the first data request and the second datarequest—or an indication thereof—to the memory controller 2205, thememory controller 2205 may identify first data at block 2250. The memorycontroller 2205 may, for example, identify first data in response to thedetermined first or second data requests at blocks 2230 and 2240,respectively. In some examples, the identification of first dataincludes identifying control data. Upon identifying the first data atblock 2250, the multiplexer 2210 may receive an indication of the firstdata from the memory controller 2205. In other examples, the multiplexer2210 may receive an indication of the first data from the memorycontroller 2205.

In either instance, the reception (or indication thereof) of theidentified data may occur through transmission 2255. After receiving theidentifying first data through transmission 2255, the memory controller2205 may identify second data at block 2260. The memory controller 2205may, for example, identify first data in response to the determinedfirst or second data requests at blocks 2230 and 2240, respectively, orin response to the identification of first data at block 2250. In someexamples, after identifying the second data at block 2260, themultiplexer 2210 may receive the identified second data—or an indicationof the identified second data—from the memory controller 2205 throughtransmission 2265.

Upon receiving the identified first data and second data—or anindication thereof—the multiplexer 2210 may multiplex the identifiedfirst data and the identified second data at block 2270 such that it isrepresented by a single symbol of a multi-level modulation scheme thatincludes at least three unique symbols to represent data. For example,the multiplexer 2210 may multiplex the identified first data. Statedalternatively, the multiplexer 2210 may multiplex the identified firstdata and the identified second data in signal that contains a signalstrength corresponding to one of at least three levels.

After multiplexing the identified first data and the identified seconddata, for example, the multiplexer 2210 may transmit an indication ofthe multiplexed data to the memory controller 2205 through transmission2275. In other examples, the multiplexer 2210 may transmit themultiplexed data to the memory controller 2205. In an additionalexample, the memory controller 2205 may transmit an indication to themultiplexer 2210 to transmit the multiplexed data to at least one of thefirst memory die 2220 or the second memory die 2225 (not illustrated).

Additionally or alternatively, for example, the first memory die 2220,second memory die 2225, or both, may transmit a signal to the memorycontroller 2205, indicating one or more characteristics of therespective die. For example, based one or more characteristics of thesignal (e.g., a signal strength), the signal may indicate that itoriginated at one of the first memory die 2220 or the second memory die2225. Because the first memory die 2220 may include a FeRAM cell, a DRAMcell, a NAND device, a NOR device, or a phase-change memory device—asdiscussed above with reference to FIG. 1—the signal may indicate a cellor device type of first memory die 2220. Additionally, because thesecond memory die 2225 may include a different memory cell or memorydevice than the first memory die 2220, the signal may indicate a celltype or device type of the second memory die 2225. In some examples, themultiplexer 2210 may multiplex the first and second data, at block 2270,based upon the cell type or device type of the first memory die 2220 andthe second memory die 2225.

Through transmission 2280, the first memory die 2220 and the secondmemory die 2225 may receive the multiplexed first data and the seconddata from the memory controller 2205. In some examples, the multiplexedfirst data and second data may be received through a bus coupled witheach of the first and second memory die (not illustrated). In someexamples, the second memory die 2225 may be or may include an externalor removable memory device. For example, when inserted or activated, thesecond memory die 2225 may transmit an indication to the memorycontroller 2205, indicating the insertion or activation of the device.In such an example, the transmission of the signal to the first memorydie 2220 and the second memory die 2225 may be based in part on theindication transmitted to the memory controller 2205.

In other examples, the first data and the second data may be received atthe first memory die 2220 and the second memory die 2225 as amultiplexed signal having a signal strength corresponding to one of atleast three levels. As discussed above with reference to FIG. 1, thesignal may be modulated using, for example, a PAM modulation scheme.Upon receiving the signal, at block 2285, the memory controller 2205 mayadjust a timing of the transmission of the signal. The signal receivedat the first memory die 2220 and the second memory die 2225 may be basedon a timing of a system clock. In some examples, the system clock may beassociated with (e.g., integrated) memory controller 2205. In otherexamples, the system clock may be external to the memory controller2205. For example, the memory controller 2205 may transmit the signalduring a rising edge of the system clock, a falling edge of the systemclock, or both. The first memory die 2220 and second memory die 2225 maythen, through transmission 2290, receive an adjusted signal based on thesystem clock of the memory controller 2205.

In some examples, the memory die 2220 and the memory die 2225 mayreceive the signal modulated using a first modulation scheme and mayidentify one or more bits represented by the symbol (e.g., one of threeunique symbols). For example, one bit may be assigned to memory die 2220and one bit may be assigned to memory die 2225. Thus, memory die 2220may discard the bit assigned to memory die 2225 and memory die 2225 maydiscard the bit assigned to memory die 2220. In other examples, each ofthe memory die 2220 and the memory die 2225 may divide the data based ona type of data (e.g., control data). For example, memory die 2225 maydecode the signal received and, based on the type of data, may discardthe bit. Additionally or alternatively, for example, memory die 2220 maydecode the signal received and may facilitate a transfer of the specificdata to the memory die 2225.

By way of example, at block 2230, the host 2215 may determine a firstdata request, which may correspond to a data request from the firstmemory die 2220. Additionally, at block 2240, the host 2215 maydetermine a second data request, which may correspond to a data requestfrom the second memory die 2225. Each of the data requests may betransmitted by the host 2215 to the memory controller 2205 attransmissions 2235 and 2245, respectively. Upon transmitting the memoryrequests to the memory controller 2205, the memory controller 2205 mayidentify first and second data that each include control data.

This indication may occur at blocks 2250 and 2260, respectively. Afteridentifying each of the first data and the second data, the identifieddata may be received by the multiplexer 2210 at transmissions 2255 and2265, respectively. At block 2240, the multiplexer 2210 may multiplexthe first data and the second data into a symbol of a multi-level signalthat contains at least three levels and subsequently transmit anindication of the multiplexed data to the memory controller 2205. Basedon this transmission, each of the first memory die 2220 and the secondmemory die 2225 may receive the multiplexed signal from the memorycontroller through transmission 2280. The multiplexed signal may betransmitted to each of the first memory die 2220 and the second memorydie 2225 concurrently. Upon receiving the multiplexed signal, the memorycontroller 2205 may adjust the communication of the multiplexed signal,based on the clock cycle of the memory controller 2205. Subsequently,the adjusted signal may be received by each of the first memory die 2220and the second memory die 2225.

FIG. 23 shows a block diagram 2300 of a memory controller 2315 thatsupports a variable modulation scheme in accordance with embodiments ofthe present disclosure. The memory controller 2315 may be an example ofaspects of a memory controller described with reference to FIGS. 1-22.The memory controller 2315 may include communication component 2330,determination component 2335, modulation scheme component 2340,reception component 2345, signal component 2350, operating parametercomponent 2355, frequency component 2360, application component 2365,power component 2370, and transmission component 2375. Each of thesemodules may communicate, directly or indirectly, with one another (e.g.,via one or more buses).

Communication component 2330 may communicate using a first signalmodulated using a first modulation scheme at a first frequency, thefirst modulation scheme having a first number of levels. Communicationcomponent 2330 may also communicate using a second signal modulatedusing a second modulation scheme selected by modulation scheme component2340. In some cases, communicating the second signal includescommunicating the second signal at a second frequency different from thefirst frequency. In some cases, communicating the second signal includescommunicating the second signal at the first frequency. In some cases,communication component 2330 may communicate a third signal modulatedusing the first modulation scheme. Use of the first modulation scheme tomodulate the third signal may be based on selection of the firstmodulation scheme by the modulation scheme component 2340.

Determination component 2335 may determine an operating parameterassociated the memory controller 2315, a device in which memorycontroller 2315 is housed, or a host that is coupled with the memorycontroller 2315. In some cases, determination component 2335 may alsodetermine a change in the operating parameter. In some cases, theoperating parameter is a temperature parameter. In such cases,determining the temperature parameter may include determining that atemperature associated with the host (or associated with another deviceor component) satisfies a temperature threshold. Modulation schemecomponent 2340 may select the second modulation scheme based on thedetermination that the temperature satisfies the temperature threshold.

Modulation scheme component 2340 may select a second modulation schemedifferent from the first modulation scheme based on the determinedoperating parameter, and the second modulation scheme may have a secondnumber of levels different from the first number of levels. In somecases, modulation scheme component 2340 may select the second modulationscheme based on comparing the operating parameter with a pre-configuredmodulation table data. In such cases, the first modulation scheme or thesecond modulation scheme includes a PAM scheme having two levels, andthe other of the first modulation scheme or the second modulation schemeincludes a PAM scheme having at least three levels. When determinationcomponent 2335 determines a change in the operating parameter,modulation scheme component 2340 may select the first modulation schemebased on the determination.

Frequency component 2360 may select the frequency at which a signal iscommunication. For example, when the communication component 2330communicates the second signal at the second frequency, the frequencycomponent 2360 may select the second frequency based on the determinedoperating parameter. Thus, communicating the second signal at the secondfrequency may be based on selecting the second frequency. In some cases,frequency component 2360 may select a third frequency at which tocommunicate the second signal modulated using the second modulationscheme based on the determined change, or select a third frequency atwhich to communicate the first signal modulated using the firstmodulation scheme.

Application component 2365 may determine one or more parameters,characteristics, or metrics associated with an application. For example,when the operating parameter is a bandwidth parameter, and theapplication component 2365 may determine the bandwidth parameter bydetermining a bandwidth requirement of an application associated withthe second signal. In such cases, modulation scheme component 2340 mayselect the second modulation scheme based on determining the bandwidthrequirement. In some cases, the operating parameter is a launch of anapplication having a data rate greater than a threshold data rate. Soapplication component 2365 may detect when such an application haslaunched.

Power component 2370 may determine a power parameter. For example, whenthe operating parameter is a power parameter, power component 2370 maydetermine the power parameter by determining whether an external powersource is connected. In such cases, selection of the second modulationscheme may be based on determining whether the external power source isconnected. In other cases when the operating parameter is a powerparameter, power component 2370 may determine the power parameter byestimating a duration of time until an internal power source reaches athreshold value. In such cases, selection of the second modulationscheme may be based on the estimation. In some cases, selection of thesecond modulation scheme may be based on a bandwidth parameter and thepower parameter.

Reception component 2345 may receive a first set of data in a firstnumber of bit streams and receive a second set of data in a secondnumber of bit streams. In some cases, the first number of bit streams isequal to the second number of bit streams.

Signal component 2350 may generate a first signal having a first numberof levels based on the first number of bit streams including the firstset of data. Signal component 2350 may also generate a second signalhaving a second number of levels based on the second number of bitstreams including the second set of data and based on a determinedoperating parameter. The second number of levels may be different fromthe first number of levels. In some cases, the first number of bitstreams is different from the first number of levels and the secondnumber of bit streams is different from the second number of levels.

Operating parameter component 2355 may determine an operating parameterassociated with a host (or other component) that is coupled with thememory controller 2315, or associated with the memory controller itself2315. The determination may be based on receiving the second set ofdata.

Transmission component 2375 may communicate the first signal over achannel at a first frequency, and communicate the second signal over thechannel at a second frequency different from the first frequency. Ortransmission component 2375 may communicate the first signal over achannel at a first frequency, and communicate the second signal over thechannel at the first frequency.

FIG. 24 shows a diagram of a system 2400 including a device 2405 thatsupports a variable modulation scheme in accordance with embodiments ofthe present disclosure.

Device 2405 may be an example of or include the components of device asdescribed above, e.g., with reference to FIGS. 1-23. Device 2405 mayinclude components for bi-directional voice and data communicationsincluding components for transmitting and receiving communications,including memory controller 2415, memory cells 2420, basic input/outputsystem (BIOS) component 2425, processor 2430, I/O controller 2435, andperipheral components 2440. These components may be in electroniccommunication via one or more buses (e.g., bus 2410).

Memory controller 2415 may operate one or more memory cells as describedherein. Specifically, memory controller 2415 may be configured tosupport a variable modulation scheme. In some cases, memory controller2415 may include a row decoder, column decoder, or both, as describedherein (not shown). Memory cells 2420 may store information (i.e., inthe form of a logical state) as described herein.

BIOS component 2425 be a software component that includes BIOS operatedas firmware, which may initialize and run various hardware components.BIOS component 2425 may also manage data flow between a processor andvarious other components, e.g., peripheral components, input/outputcontrol component, etc. BIOS component 2425 may include a program orsoftware stored in read only memory (ROM), flash memory, or any othernon-volatile memory.

Processor 2430 may include an intelligent hardware device, (e.g., ageneral-purpose processor, a DSP, a central processing unit (CPU), amicrocontroller, an ASIC, an FPGA, a programmable logic device, adiscrete gate or transistor logic component, a discrete hardwarecomponent, or any combination thereof). In some cases, processor 2430may be configured to operate a memory array using a memory controller.In other cases, a memory controller may be integrated into processor2430. Processor 2430 may be configured to execute computer-readableinstructions stored in a memory to perform various functions (e.g.,functions or tasks supporting Variable Modulation Scheme).

I/O controller 2435 may manage input and output signals for device 2405.I/O controller 2435 may also manage peripherals not integrated intodevice 2405. In some cases, I/O controller 2435 may represent a physicalconnection or port to an external peripheral. In some cases, I/Ocontroller 2435 may utilize an operating system such as iOS®, ANDROID®,MS-DOS®, MS-WINDOWS®, OS/2®, UNIX®, LINUX®, or another known operatingsystem. In other cases, I/O controller 2435 may represent or interactwith a modem, a keyboard, a mouse, a touchscreen, or a similar device.In some cases, I/O controller 2435 may be implemented as part of aprocessor. In some cases, a user may interact with device 2405 via I/Ocontroller 2435 or via hardware components controlled by I/O controller2435.

Peripheral components 2440 may include any input or output device, or aninterface for such devices. Examples may include disk controllers, soundcontroller, graphics controller, Ethernet controller, modem, universalserial bus (USB) controller, a serial or parallel port, or peripheralcard slots, such as peripheral component interconnect (PCI) oraccelerated graphics port (AGP) slots.

Input 2445 may represent a device or signal external to device 2405 thatprovides input to device 2405 or its components. This may include a userinterface or an interface with or between other devices. In some cases,input 2445 may be managed by I/O controller 2435, and may interact withdevice 2405 via a peripheral component 2440.

Output 2450 may also represent a device or signal external to device2405 configured to receive output from device 2405 or any of itscomponents. Examples of output 2450 may include a display, audiospeakers, a printing device, another processor or printed circuit board,etc. In some cases, output 2450 may be a peripheral element thatinterfaces with device 2405 via peripheral component(s) 2440. In somecases, output 2450 may be managed by I/O controller 2435

The components of device 2405 may include circuitry designed to carryout their functions. This may include various circuit elements, forexample, conductive lines, transistors, capacitors, inductors,resistors, amplifiers, or other active or inactive elements, configuredto carry out the functions described herein. Device 2405 may be acomputer, a server, a laptop computer, a notebook computer, a tabletcomputer, a mobile phone, a wearable electronic device, a personalelectronic device, or the like. Or device 2405 may be a portion oraspect of such a device.

FIG. 25 shows a flowchart illustrating a method 2500 for a variablemodulation scheme in accordance with embodiments of the presentdisclosure. The operations of method 2500 may be implemented by a deviceor its components as described herein. For example, the operations ofmethod 2500 may be performed by a memory controller as described withreference to FIGS. 14 through 19. In some examples, a device may executea set of codes to control the functional elements of the device toperform the functions described below. Additionally or alternatively,the device may perform aspects of the functions described below usingspecial-purpose hardware.

At 2505 the method may include communicating (e.g., with a memorycontroller) using a first signal modulated using a first modulationscheme at a first frequency, the first modulation scheme having a firstnumber of levels. The operations of 2505 may be performed according tothe methods described herein. In certain examples, aspects of theoperations of 2505 may be performed by a communication component asdescribed with reference to FIG. 23.

At 2510 the method may include determining an operating parameterassociated with a host that is coupled with the memory controller. Theoperations of 2510 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2510 may beperformed by a determination component as described with reference toFIG. 23.

At 2515 the method may include selecting a second modulation schemedifferent from the first modulation scheme based at least in part on thedetermined operating parameter, the second modulation scheme having asecond number of levels different from the first number of levels. Theoperations of 2515 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2515 may beperformed by a modulation scheme component as described with referenceto FIG. 23.

At 2520 the method may include communicating (e.g., with the memorycontroller) using a second signal modulated using the second modulationscheme. In some cases, communicating the second signal comprises:communicating the second signal at the first frequency. In some cases,communicating the second signal includes communicating the second signalat a second frequency different from the first frequency. In some cases,the method may also include selecting the second frequency based atleast in part on the determined operating parameter, where communicatingthe second signal at the second frequency is based at least in part onselecting the second frequency. The operations of 2520 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2520 may be performed by a communication componentas described with reference to FIG. 23.

In some cases, the method may also include selecting the secondmodulation scheme is based at least in part on comparing the operatingparameter with a pre-configured modulation table data. In such cases,one of the first modulation scheme or the second modulation scheme is aPAM scheme having two levels (NRZ), and the other of the firstmodulation scheme or the second modulation scheme is a PAM scheme havingat least three levels.

In some cases, the method may also include determining a change in theoperating parameter. In some cases, the method may also includeselecting a third frequency at which to communicate the second signalmodulated using the second modulation scheme based at least in part onthe determined change. In some cases, the method may also includeselecting a third frequency at which to communicate the first signalmodulated using the first modulation scheme. In some cases, the methodmay also include communicating a third signal modulated using the firstmodulation scheme based at least in part on selecting the firstmodulation scheme.

In some cases, the operating parameter is a bandwidth parameter anddetermining the bandwidth parameter includes determining a bandwidthrequirement of an application associated with the second signal, whereselecting the second modulation scheme is based at least in part ondetermining the bandwidth requirement. In some cases, the operatingparameter is the launch of an application having a data rate greaterthan a threshold data rate.

In some cases, the operating parameter is a temperature parameter anddetermining the temperature parameter includes determining that atemperature associated with the host satisfies a temperature threshold,where selecting the second modulation scheme is based at least in parton determining that the temperature satisfies the temperature threshold.

In some cases, the operating parameter is a power parameter. Determiningthe power parameter may include determining whether an external powersource is connected, where selecting the second modulation scheme isbased at least in part on determining whether the external power sourceis connected. Or determining the power parameter may include estimatinga duration of time until an internal power source reaches a thresholdvalue, where selecting the second modulation scheme is based at least inpart on the estimation.

FIG. 26 shows a flowchart illustrating a method 2600 for a variablemodulation scheme in accordance with embodiments of the presentdisclosure. The operations of method 2600 may be implemented by a deviceor its components as described herein. For example, the operations ofmethod 2600 may be performed by a memory controller as described withreference to FIGS. 14 through 19. In some examples, a device may executea set of codes to control the functional elements of the device toperform the functions described below. Additionally or alternatively,the device may perform aspects of the functions described below usingspecial-purpose hardware.

At 2605 the method may include communicating (e.g., with a memorycontroller or other component) using a first signal modulated using afirst modulation scheme at a first frequency, the first modulationscheme having a first number of levels. The operations of 2605 may beperformed according to the methods described herein. In certainexamples, aspects of the operations of 2605 may be performed by acommunication component as described with reference to FIG. 23.

At 2610 the method may include determining a power parameter and abandwidth parameter. The operations of 2610 may be performed accordingto the methods described herein. In certain examples, aspects of theoperations of 2610 may be performed by a determination component asdescribed with reference to FIG. 23.

At 2615 the method may include select a second modulation schemedifferent from the first modulation scheme based at least in part on thedetermined power parameter and bandwidth parameter, the secondmodulation scheme having a second number of levels different from thefirst number of levels. The operations of 2615 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2615 may be performed by a modulation schemecomponent as described with reference to FIG. 23.

At 2620 the method may include communicating (e.g., with the memorycontroller or other component) using a second signal modulated using thesecond modulation scheme. The operations of 2620 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2620 may be performed by a communication componentas described with reference to FIG. 23.

In some cases, the operations of the methods described with reference toFIGS. 25 and 26 may be performed by an apparatus. For example, theapparatus may include means for communicating, with a memory controller,using a first signal modulated using a first modulation scheme at afirst frequency, the first modulation scheme having a first number oflevels. The apparatus may also include means for determining anoperating parameter associated with a host that is coupled with thememory controller. The apparatus may also include means for selecting asecond modulation scheme different from the first modulation schemebased at least in part on the determined operating parameter, the secondmodulation scheme having a second number of levels different from thefirst number of levels. The apparatus may also include means forcommunicating, with the memory controller, using a second signalmodulated using the second modulation scheme.

In some examples, the apparatus may include means for communicating thesecond signal at a second frequency different from the first frequency.In some examples, the apparatus may include means for selecting thesecond frequency based at least in part on the determined operatingparameter, where communicating the second signal at the second frequencymay be based at least in part on selecting the second frequency.

In some examples, the apparatus may include means for determining achange in the operating parameter. In some examples, the apparatus mayinclude means for selecting a third frequency at which to communicatethe second signal modulated using the second modulation scheme based atleast in part on the determined change.

In some examples, the apparatus may include means for communicating thesecond signal at the first frequency. In some examples, the apparatusmay include means for selecting a third frequency at which tocommunicate the first signal modulated using the first modulationscheme.

In some examples, the apparatus may include means for determining achange in the operating parameter. In some examples, the apparatus mayinclude means for selecting the first modulation scheme based at leastin part on determining the change in the operating parameter. In someexamples, the apparatus may include means for communicating a thirdsignal modulated using the first modulation scheme based at least inpart on selecting the first modulation scheme. In some examples, theapparatus includes means for determining a bandwidth requirement of anapplication associated with the second signal. In such cases, selectingthe second modulation scheme may be based at least in part ondetermining the bandwidth demand.

In some examples, the apparatus may include means for determining thetemperature parameter. For example, the apparatus may include means fordetermining that a temperature associated with the host satisfies atemperature threshold. In such cases, selecting the second modulationscheme may be based at least in part on determining that the temperaturesatisfies the temperature threshold.

In some examples, the apparatus may include means for determining apower parameter. For example, the apparatus may include means fordetermining whether an external power source may be connected. In suchcases, selecting the second modulation scheme may be based at least inpart on determining whether the external power source may be connected.In some examples, the apparatus includes means for estimating a durationof time until an internal power source reaches a threshold value. Insuch cases, selecting the second modulation scheme may be based at leastin part on the estimation.

In some examples of the method and apparatus described above, theoperating parameter is the launch of an application having a data rategreater than a threshold data rate. In some examples, the apparatusincludes means for determining a power parameter and means fordetermining a bandwidth parameter. In such cases, selecting the secondmodulation scheme may be based at least in part on the bandwidthparameter and the power parameter.

In some examples, the apparatus may include means for selecting thesecond modulation scheme based at least in part on comparing theoperating parameter with a pre-configured modulation table data. One ofthe first modulation scheme or the second modulation scheme may be a PAMscheme having two levels, and the other of the first modulation schemeor the second modulation scheme may be a PAM scheme having at leastthree levels.

FIG. 27 shows a flowchart illustrating a method 2700 for a variablemodulation scheme in accordance with embodiments of the presentdisclosure. The operations of method 2700 may be implemented by a deviceor its components as described herein. For example, the operations ofmethod 2700 may be performed by a memory controller as described withreference to FIGS. 14 through 19. In some examples, a device may executea set of codes to control the functional elements of the device toperform the functions described below.

Additionally or alternatively, the device may perform aspects of thefunctions described below using special-purpose hardware.

At 2705 the method may include receiving a first set of data in a firstnumber of bit streams. The operations of 2705 may be performed accordingto the methods described herein. In certain examples, aspects of theoperations of 2705 may be performed by a reception component asdescribed with reference to FIG. 23.

At 2710 the method may include generating, by a memory controller, afirst signal having a first number of levels based at least in part onthe first number of bit streams comprising the first set of data. Theoperations of 2710 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2710 may beperformed by a signal component as described with reference to FIG. 23.

At 2715 the method may include receiving a second set of data in asecond number of bit streams. The operations of 2715 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2715 may be performed by a reception component asdescribed with reference to FIG. 23.

At 2720 the method may include determining an operating parameterassociated with a host (or other component) that is coupled with thememory controller based at least in part on receiving the second set ofdata. The operations of 2720 may be performed according to the methodsdescribed herein. In certain examples, aspects of the operations of 2720may be performed by an operating parameter component as described withreference to FIG. 23.

At 2725 the method may include generating a second signal having asecond number of levels based at least in part on the second number ofbit streams comprising the second set of data and the determinedoperating parameter, where the second number of levels is different fromthe first number of levels. In some cases, the first number of bitstreams is different from the first number of levels and the secondnumber of bit streams is different from the second number of levels. Theoperations of 2725 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2725 may beperformed by a signal component as described with reference to FIG. 23.

In some cases, the method may also include communicating the secondsignal over the channel at a second frequency different from the firstfrequency. In some cases, the method may also include communicating thefirst signal over a channel at a first frequency.

In some cases, the method may also include communicating the secondsignal over the channel at the first frequency. In some cases, the firstnumber of bit streams is equal to the second number of bit streams. Insome cases, the method may also include communicating the first signalover a channel at a first frequency.

FIG. 28 shows a flowchart illustrating a method 2800 for a variablemodulation scheme in accordance with embodiments of the presentdisclosure. The operations of method 2800 may be implemented by a deviceor its components as described herein. For example, the operations ofmethod 2800 may be performed by a memory controller as described withreference to FIGS. 14 through 19. In some examples, a device may executea set of codes to control the functional elements of the device toperform the functions described below.

Additionally or alternatively, the device may perform aspects of thefunctions described below using special-purpose hardware.

At 2805 the method may include receiving a first set of data in a firstnumber of bit streams. The operations of 2805 may be performed accordingto the methods described herein. In certain examples, aspects of theoperations of 2805 may be performed by a reception component asdescribed with reference to FIG. 23.

At 2810 the method may include generating (e.g., by a memory controller)a first signal having a first number of levels based at least in part onthe first number of bit streams comprising the first set of data. Theoperations of 2810 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2810 may beperformed by a signal component as described with reference to FIG. 23.

At 2815 the method may include communicating the first signal over achannel at a first frequency. The operations of 2815 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2815 may be performed by a transmission componentas described with reference to FIG. 23.

At 2820 the method may include receiving a second set of data in asecond number of bit streams. The operations of 2820 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2820 may be performed by a reception component asdescribed with reference to FIG. 23.

At 2825 the method may include determining an operating parameterassociated with a host that is coupled with the memory controller basedat least in part on receiving the second set of data. The operations of2825 may be performed according to the methods described herein. Incertain examples, aspects of the operations of 2825 may be performed byan operating parameter component as described with reference to FIG. 23.

At 2830 the method may include generating a second signal having asecond number of levels based at least in part on the second number ofbit streams comprising the second set of data and the determinedoperating parameter, wherein the second number of levels is differentfrom the first number of levels. The operations of 2830 may be performedaccording to the methods described herein. In certain examples, aspectsof the operations of 2830 may be performed by a signal component asdescribed with reference to FIG. 23.

At 2835 the method may include communicating the second signal over thechannel at a second frequency different from the first frequency. Theoperations of 2835 may be performed according to the methods describedherein. In certain examples, aspects of the operations of 2835 may beperformed by a transmission component as described with reference toFIG. 23.

In some cases, the operations of the methods described with reference toFIGS. 27 and 28 may be performed by an apparatus. For example, anapparatus may include means for receiving a first set of data in a firstnumber of bit streams. The apparatus may also include means forgenerating (e.g., by a memory controller) a first signal having a firstnumber of levels based at least in part on the first number of bitstreams comprising the first set of data. The apparatus may also includemeans for receiving a second set of data in a second number of bitstreams. The apparatus may also include means for determining anoperating parameter associated with a host that is coupled with thememory controller based at least in part on receiving the second set ofdata. The apparatus may also include means for generating a secondsignal having a second number of levels based at least in part on thesecond number of bit streams comprising the second set of data and thedetermined operating parameter, where the second number of levels isdifferent from the first number of levels.

In some examples, the apparatus may include means for communicating thefirst signal over a channel at a first frequency. In some examples, theapparatus may include means for communicating the second signal over thechannel at a second frequency different from the first frequency. Insome examples, the apparatus may include means for communicating thefirst signal over a channel at a first frequency. In some examples, theapparatus may include means for communicating the second signal over thechannel at the first frequency. In some examples, the first number ofbit streams may be equal to the second number of bit streams. In someexamples, the first number of bit streams may be different from thefirst number of levels and the second number of bit streams may bedifferent from the second number of levels.

It should be noted that the methods described above describe possibleimplementations, and that the operations and the steps may be rearrangedor otherwise modified and that other implementations are possible.Furthermore, embodiments from two or more of the methods may becombined.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, signals, bits, symbols, and chipsthat may be referenced throughout the above description may berepresented by voltages, currents, electromagnetic waves, magneticfields or particles, optical fields or particles, or any combinationthereof. Some drawings may illustrate signals as a single signal;however, it will be understood by a person of ordinary skill in the artthat the signal may represent a bus of signals, where the bus may have avariety of bit widths.

As used herein, the term “virtual ground” refers to a node of anelectrical circuit that is held at a voltage of approximately zero volts(0V) but that is not directly connected with ground. Accordingly, thevoltage of a virtual ground may temporarily fluctuate and return toapproximately 0V at steady state. A virtual ground may be implementedusing various electronic circuit elements, such as a voltage dividerconsisting of operational amplifiers and resistors. Otherimplementations are also possible. “Virtual grounding” or “virtuallygrounded” means connected to approximately 0V.

The term “electronic communication” and “coupled” refer to arelationship between components that support electron flow between thecomponents. This may include a direct connection between components ormay include intermediate components. Components in electroniccommunication or coupled to one another may be actively exchangingelectrons or signals (e.g., in an energized circuit) or may not beactively exchanging electrons or signals (e.g., in a de-energizedcircuit) but may be configured and operable to exchange electrons orsignals upon a circuit being energized. By way of example, twocomponents physically connected via a switch (e.g., a transistor) are inelectronic communication or may be coupled regardless of the state ofthe switch (i.e., open or closed).

The term “isolated” refers to a relationship between components in whichelectrons are not presently capable of flowing between them; componentsare isolated from each other if there is an open circuit between them.For example, two components physically connected by a switch may beisolated from each other when the switch is open.

The devices discussed herein, including a memory device, may be formedon a semiconductor substrate, such as silicon, germanium,silicon-germanium alloy, gallium arsenide, gallium nitride, etc. In somecases, the substrate is a semiconductor wafer. In other cases, thesubstrate may be a silicon-on-insulator (SOI) substrate, such assilicon-on-glass (SOG) or silicon-on-sapphire (SOP), or epitaxial layersof semiconductor materials on another substrate. The conductivity of thesubstrate, or sub-regions of the substrate, may be controlled throughdoping using various chemical species including, but not limited to,phosphorous, boron, or arsenic. Doping may be performed during theinitial formation or growth of the substrate, by ion-implantation, or byany other doping means.

The description set forth herein, in connection with the appendeddrawings, describes example configurations and does not represent allthe examples that may be implemented or that are within the scope of theclaims. The term “exemplary” used herein means “serving as an example,instance, or illustration,” and not “preferred” or “advantageous overother examples.” The detailed description includes specific details forthe purpose of providing an understanding of the described techniques.These techniques, however, may be practiced without these specificdetails. In some instances, well-known structures and devices are shownin block diagram form in order to avoid obscuring the concepts of thedescribed examples.

In the appended figures, similar components or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If just the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

Information and signals described herein may be represented using any ofa variety of different technologies and techniques. For example, data,instructions, commands, information, signals, bits, symbols, and chipsthat may be referenced throughout the above description may berepresented by voltages, currents, electromagnetic waves, magneticfields or particles, optical fields or particles, or any combinationthereof.

The various illustrative blocks and modules described in connection withthe disclosure herein may be implemented or performed with ageneral-purpose processor, a DSP, an ASIC, an FPGA or other programmablelogic device, discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. A general-purpose processor may be a microprocessor,but in the alternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices (e.g., a combinationof a digital signal processor (DSP) and a microprocessor, multiplemicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration).

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on acomputer-readable medium. Other examples and implementations are withinthe scope of the disclosure and appended claims. For example, due to thenature of software, functions described above can be implemented usingsoftware executed by a processor, hardware, firmware, hardwiring, orcombinations of any of these. Features implementing functions may alsobe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations. Also, as used herein, including in the claims, “or” as usedin a list of items (for example, a list of items prefaced by a phrasesuch as “at least one of” or “one or more of”) indicates an inclusivelist such that, for example, a list of at least one of A, B, or C meansA or B or C or AB or AC or BC or ABC (i.e., A and B and C). Also, asused herein, the phrase “based on” shall not be construed as a referenceto a closed set of conditions. For example, an exemplary step that isdescribed as “based on condition A” may be based on both a condition Aand a condition B without departing from the scope of the presentdisclosure. In other words, as used herein, the phrase “based on” shallbe construed in the same manner as the phrase “based at least in parton.”

Computer-readable media includes both non-transitory computer storagemedia and communication media including any medium that facilitatestransfer of a computer program from one place to another. Anon-transitory storage medium may be any available medium that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, non-transitory computer-readable media cancomprise RAM, ROM, electrically erasable programmable read only memory(EEPROM), compact disk (CD) ROM or other optical disk storage, magneticdisk storage or other magnetic storage devices, or any othernon-transitory medium that can be used to carry or store desired programcode means in the form of instructions or data structures and that canbe accessed by a general-purpose or special-purpose computer, or ageneral-purpose or special-purpose processor. Also, any connection isproperly termed a computer-readable medium. For example, if the softwareis transmitted from a website, server, or other remote source using acoaxial cable, fiber optic cable, twisted pair, digital subscriber line(DSL), or wireless technologies such as infrared, radio, and microwave,then the coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave are included in the definition of medium. Disk and disc,as used herein, include CD, laser disc, optical disc, digital versatiledisc (DVD), floppy disk and Blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The description herein is provided to enable a person skilled in the artto make or use the disclosure. Various modifications to the disclosurewill be readily apparent to those skilled in the art, and the genericprinciples defined herein may be applied to other variations withoutdeparting from the scope of the disclosure. Thus, the disclosure is notlimited to the examples and designs described herein, but is to beaccorded the broadest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for communication, comprising:communicating using a first signal modulated using a first modulationscheme at a first frequency, the first modulation scheme having a firstnumber of levels; determining an operating parameter associated with ahost that is coupled with a memory controller; selecting a secondmodulation scheme different from the first modulation scheme based atleast in part on the determined operating parameter, the secondmodulation scheme having a second number of levels different from thefirst number of levels; and communicating using a second signalmodulated using the second modulation scheme.
 2. The method of claim 1,wherein communicating the first signal and second signal comprisescommunicating with a memory controller.
 3. The method of claim 1,further comprising: selecting a second frequency based at least in parton the determined operating parameter, wherein the second signal iscommunicated at the second frequency.
 4. The method of claim 3, furthercomprising: determining a change in the operating parameter; andselecting a third frequency at which to communicate the second signalmodulated using the second modulation scheme based at least in part onthe determined change.
 5. The method of claim 1, wherein communicatingthe second signal comprises: communicating the second signal at thefirst frequency or at a second frequency different from the firstfrequency.
 6. The method of claim 1, further comprising: selecting athird frequency at which to communicate the first signal modulated usingthe first modulation scheme.
 7. The method of claim 1, furthercomprising: determining a change in the operating parameter; selectingthe first modulation scheme based at least in part on determining thechange in the operating parameter; and communicating a third signalmodulated using the first modulation scheme based at least in part onselecting the first modulation scheme.
 8. The method of claim 1, whereinthe operating parameter comprises a bandwidth parameter, and whereindetermining the bandwidth parameter comprises: determining a bandwidthrequirement of an application associated with the second signal, whereinselecting the second modulation scheme is based at least in part ondetermining the bandwidth requirement.
 9. The method of claim 1, whereinthe operating parameter comprises a temperature parameter, and whereindetermining the temperature parameter comprises: determining that atemperature associated with the host satisfies a temperature threshold,wherein selecting the second modulation scheme is based at least in parton determining that the temperature satisfies the temperature threshold.10. The method of claim 1, wherein the operating parameter comprises apower parameter, and wherein determining the power parameter comprises:determining whether an external power source is connected, whereinselecting the second modulation scheme is based at least in part ondetermining whether the external power source is connected.
 11. Themethod of claim 1, wherein the operating parameter comprises a powerparameter, and wherein determining the power parameter comprises:estimating a duration of time until an internal power source reaches athreshold value, wherein selecting the second modulation scheme is basedat least in part on the estimation.
 12. The method of claim 1, whereinthe operating parameter comprises a launch of an application having atarget data rate greater than a threshold data rate.
 13. The method ofclaim 1, wherein the operating parameter comprises a bandwidthparameter, the method further comprising: determining a power parameter,wherein selecting the second modulation scheme is based at least in parton the bandwidth parameter and the power parameter.
 14. The method ofclaim 1, wherein selecting the second modulation scheme is based atleast in part on comparing the operating parameter with a pre-configuredmodulation table data, and wherein one of the first modulation scheme orthe second modulation scheme comprises a pulse amplitude modulation(PAM) scheme having two levels, and the other of the first modulationscheme or the second modulation scheme comprises a PAM scheme having atleast three levels.
 15. An apparatus comprising: a memory die; and amemory controller configured to: communicate a first signal to thememory die, wherein the first signal is modulated using a firstmodulation scheme having a first number of levels; determine anoperating parameter associated with the apparatus; and selecting asecond modulation scheme different from the first modulation schemebased at least in part on the determined operating parameter; andcommunicate a second signal to the memory die based at least in part onthe selected second modulation scheme, wherein the second signal ismodulated using the second modulation scheme that has a second number oflevels different from the first number of levels.
 16. The apparatus ofclaim 15, further comprising: a clock circuit configured to generate afirst clock signal at a first frequency and a second clock signal at asecond frequency, wherein the memory controller is configured to:communicate the first signal based at least in part on the firstfrequency; and communicate the second signal based at least in part onthe second frequency and the determined operating parameter, wherein thesecond frequency is higher than the first frequency.
 17. The apparatusof claim 15, wherein the memory controller is further configured to:select a first number of memory cells in the memory die for receiving afirst set of data modulated using the first modulation scheme; andselect a second number of memory cells in the memory die for receiving asecond set of data modulated using the second modulation scheme, whereinthe second number of memory cells is different from the first number ofmemory cells.
 18. The apparatus of claim 15, wherein the operatingparameter comprises a bandwidth parameter, and wherein the memorycontroller is further configured to: determine a power parameter for theapparatus, wherein selecting the second modulation scheme is based atleast in part on the bandwidth parameter and the power parameter. 19.The apparatus of claim 15, wherein the operating parameter comprises atemperature parameter, and wherein determining the temperature parametercomprises: determining that a temperature associated with the memorycontroller satisfies a temperature threshold, wherein selecting thesecond modulation scheme is based at least in part on determiningwhether the temperature satisfies the temperature threshold.
 20. Theapparatus of claim 15, wherein the operating parameter comprises a powerparameter, and wherein determining the power parameter comprises:determining whether an external power source is connected, whereinselecting the second modulation scheme is based at least in part ondetermining whether the external power source is connected.
 21. Theapparatus of claim 15, wherein the operating parameter comprises a powerparameter, and wherein determining the power parameter comprises:estimating a duration of time until an internal power source reaches athreshold value, wherein selecting the second modulation scheme is basedat least in part on the estimation.
 22. The apparatus of claim 15,wherein the operating parameter comprises a launch of an applicationhaving a target data rate greater than a threshold data rate.
 23. Amethod, comprising: receiving a first set of data in a first number ofbit streams; generating, by a memory controller, a first signal having afirst number of levels based at least in part on the first number of bitstreams comprising the first set of data; receiving a second set of datain a second number of bit streams; determining an operating parameterassociated with a host that is coupled with the memory controller basedat least in part on receiving the second set of data; and generating asecond signal having a second number of levels based at least in part onthe second number of bit streams comprising the second set of data andthe determined operating parameter, wherein the second number of levelsis different from the first number of levels.
 24. The method of claim23, further comprising: communicating the first signal over a channel ata first frequency; and communicating the second signal over the channelat a second frequency different from the first frequency.
 25. The methodof claim 23, further comprising: communicating the first signal over achannel at a first frequency; and communicating the second signal overthe channel at the first frequency.
 26. The method of claim 23, whereinthe first number of bit streams is equal to the second number of bitstreams.
 27. The method of claim 23, wherein the first number of bitstreams is different from the first number of levels and the secondnumber of bit streams is different from the second number of levels. 28.An apparatus comprising: a first driver in electronic communication witha data bus; and a memory controller configured to: communicate a firstsignal over the data bus using the first driver, the first signal havinga signal strength that corresponds to one level of a first number oflevels representing a first set of data; determine an operatingparameter associated with the apparatus; and communicate a second signalover the data bus based at least in part on the determined operatingparameter, the second signal having a signal strength that correspondsto one level of a second number of levels representing a second set ofdata, the second number of levels is different from the first number oflevels.
 29. The apparatus of claim 28, further comprising: a seconddriver in electronic communication with the data bus, wherein the secondsignal is communicated over the data bus using the second driver. 30.The apparatus of claim 28, further comprising: a clock circuitconfigured to generate a first clock rate and a second clock rate,wherein the memory controller is configured to: communicate the firstsignal at the first clock rate; and communicate the second signal at thesecond clock rate based at least in part on the determined operatingparameter.